基于Web的多屏互动方法及系统的制作方法

文档序号:7772123阅读:341来源:国知局
基于Web的多屏互动方法及系统的制作方法
【专利摘要】本发明涉及互联网技术和多媒体领域,提供一种基于Web的多屏互动方法及系统,所述方法包括步骤有:登录步骤,用户在若干智能终端同时登录,并选择对其中任一智能终端的应用进行操作;关联其它终端步骤,服务端响应用户登录的任一智能终端的Weboscket握手请求,将任一智能终端与用户已登录的其它智能终端进行关联;以及通信步骤,建立任一智能终端与其它智能终端之间的通信连接以实现多个智能终端间互联、互操作信令的转换和传输;响应步骤,其它智能终端对任一智能终端的操作信令作相应的响应。借此,本发明将用户的多种终端设备在不受距离和硬件匹配的限制下通过互联网实现互联和互动,方便了用户的操作,极大地提高了用户对互联网多媒体服务的体验。
【专利说明】基于Web的多屏互动方法及系统
【技术领域】
[0001]本发明涉及互联网技术和多媒体领域,更具体地,涉及一种基于Web的多屏互动方法和系统。
【背景技术】
[0002]随着科技的迅猛发展,各种移动终端和媒体设备层出不穷,包括智能手机、平板电脑和智能手表等。而电视终端也在向更大屏、更高画质和更加智能化方向发展。一方面是小屏幕终端为用户带来了便携式的方便,使得用户能随时随地的访问互联网内容和进行通信娱乐;另一方面,大屏幕结合日益强大的编解码技术为用户带来了高质量的视听享受。然而,随着人们拥有的终端设备越来越多,且更新速度也越来越快,人们对互联网内容和娱乐在各种终端间无缝切换,和实现终端间的互通、互动的要求越来越高。
[0003]目前,各种终端设备间实现互联主要是通过建立在硬件层的短距通信,如蓝牙、红外和WiFi信号等,或通过一些行业标准组织定义的通信协议,如闪联(IGRS),但这些通信方式都要求在设备底层实现特殊的硬件驱动或中间件。由于终端的生产厂商和型号零零种种,使得在硬件级底层实现终端间的互联互动比较繁琐,且在用户操作上由于需要对设备间进行匹配而造成不便,不具灵活性。
[0004]综上,目前多种终端设备间互联和互动技术需通过复杂的硬件和底层实现,会造成实现比较繁琐且用户操作不便,从而导致用户体验的低质量,所以有必要加以改进。

【发明内容】

[0005]为解决上述现有技术的缺陷,本发明的目的在于提供一种基于Web层的多屏互动方法及系统,其能够将多种终端设备间的互联和互动建立在Web层之上,绕过复杂的硬件和底层实现,使得实现比较简单且方便用户操作,从而提高用户体验的质量。
[0006]为达成上述目的,本发明提供一种基于Web的多屏互动方法,包括步骤有:
[0007]登录步骤,用户在若干智能终端同时登录,并选择对其中任一智能终端的应用进行操作;
[0008]关联其它终端步骤,服务端响应所述用户登录的所述任一智能终端的Websocket握手请求,将所述任一智能终端与用户已登录的其它智能终端进行关联;以及
[0009]通信步骤,建立所述任一智能终端与所述其它智能终端之间的通信连接以实现多个智能终端间互联、互操作信令的转换和传输;
[0010]响应步骤,所述其它智能终端对所述任一智能终端的操作信令作相应的响应。
[0011]上述通信步骤包括:
[0012]进程生成步骤,所述服务端采用预定算法建立Websocket连接进程池以响应所述用户操作;
[0013]互动状态数据库建立步骤,将若干所述智能终端标识与Websocket连接进程的信息写入所述互动状态数据库,通过若干所述智能终端标识查询所述互动状态数据库中对应
5CN 103491179 A


说 2/12 页
的所述Websocket连接进程,并插入到所述互动状态数据库中以用户标识为关键字的用户进程表中;
[0014]发送步骤,所述任一智能终端通过Websocket将所述用户操作的消息发送到所述服务端,并由所述对应的Websocket连接进程接收处理;
[0015]查询步骤,查询所述互动状态数据库,获取与所述用户登录的其它智能终端连接的对应的Websocket连接进程;
[0016]转发步骤,转发所述消息给所述对应的Websocket连接进程;以及
[0017]推送步骤,所述对应的Websocket连接进程将所述消息推送到所述其它智能终端。
[0018]上述预定算法包括:
[0019]所述服务端维护一全局进程字典{NodelD,[PID,….],Counter},其中以服务器标识NodeID为关键字保存对应的进程列表[PID,….]和进程计数器Counter ;
[0020]所述服务端在响应每个Websocket握手请求时选取在进程数值Counter最小的服务器节点生成所述Websocket连接进程,将返回的所述Websocket连接进程ID添加到所述对应服务器标识NodeID下的进程列表,并将对应的计数器Counter加I ;
[0021]当所述Websocket连接进程结束返回时,所述服务端将所述对应服务器标识NodeID的进程列表中相应的所述Websocket连接进程PID删除,同时将所述对应的计数器Counter 减 I。
[0022]上述任一智能终端的标识由所述服务端在接收所述任一智能终端发来的HTTP请求或Websocket握手请求时获得。
[0023]上述查询步骤后,转发步骤前,还包括:
[0024]第一处理步骤,所述Websocket连接进程查询所述用户或内容数据,并对所述消息进行处理。
[0025]上述转发步骤后,推送步骤前,还包括:
[0026]第二处理步骤,所述对应的Websocket连接进程根据需求读取所述用户或内容数据,并对所述消息进行处理。
[0027]上述响应步骤中对所述任一智能终端的操作信令作相应的响应包括:所述其它智能终2而呈现内各或响应控制命令。
[0028]上述其它智能终端响应控制命令包括:执行操作并通过Websocket将所述操作的消息发送到所述服务端,并由所述服务端推送至所述任一智能终端。
[0029]上述响应步骤后,还包括:
[0030]登出步骤,所述用户在任一所述智能终端登出,通过任一所述智能终端标识查询所述互动状态数据库中所述用户标识对应的Websocket连接进程列表,将对应的Websocket连接进程信息删除。
[0031]为达成上述目的,本发明还提供一种基于Web的多屏互动系统,包括若干客户端及服务端,所述客户端包括:
[0032]智能终端,用于供用户登录及对应用进行操作,并通过Websocket消息与服务端进行交互;
[0033]所述服务端包括:
6[0034]内容数据库,用于存储内容数据;
[0035]用户数据库,用于存储用户信息;以及
[0036]互动服务装置,用于响应所述用户登录的智能终端的Websocket握手请求,与所述用户登录的其它智能终端进行关联,并建立所述智能终端与所述其它智能终端之间的通信连接以实现多个智能终端间互联、互操作信令的转换和传输,供所述其它智能终端对所述智能终端的操作信令作相应的响应。
[0037]上述互动服务装置包括:
[0038]主服务模块,用于响应所述用户操作触发的HTTP请求和Websocket握手请求,并调用相应模块对所述请求进行处理;
[0039]用户管理模块,用于处理用户注册、认证和授权请求,实时更新所述用户信息和用户状态,并按需提供所述用户信息和用户状态;
[0040]全局进程管理模块,用于采用预定算法生成Websocket连接进程池,以响应所述主服务模块的调用,关联所述用户登录的其它智能终端,并与所述其它智能终端建立通信连接,通过进程间通信实现智能终端间的数据接收、发送和处理;
[0041]Websocket连接进程池,用于存放所有的Websocket连接进程。
[0042]上述预定算法包括:
[0043]所述服务端维护全局进程字典{NodelD,[PID,….],Counter},其中以服务器标识NodeID为关键字保存对应的进程列表[PID,….]和进程计数器Counter ;
[0044]所述服务端在响应每个Websocket握手请求时选取在进程数值Counter最小的服务器节点生成Websocket连接进程,将返回的所述Websocket连接进程ID添加到所述对应服务器标识NodeID下的进程列表,并将对应的计数器Counter加I ;
[0045]当所述Websocket连接进程结束返回时,将所述对应服务器标识NodeID的进程列表中相应的Websocket连接进程PID删除,同时将对应的计数器Counter减I。
[0046]上述服务端还包括:
[0047]互动状态数据库,用于临时存储所述用户及其登录的所述若干客户端的智能终端信息。
[0048]上述全局进程管理模块用于生成所述Websocket连接进程时,将所述智能终端的标识与所述Websocket连接进程标识写入所述互动状态数据库,通过所述智能终端标识查询所述互动状态数据库中对应的所述Websocket连接进程,并插入到所述互动状态数据库中以用户标识为关键字的用户进程表中;
[0049]所述智能终端通过Websocket将所述用户操作的消息发送到所述服务端,并由所述对应的Websocket连接进程接收处理;
[0050]所述全局进程管理模块用于查询所述互动状态数据库,获取与所述用户登录的其它智能终端连接的对应的Websocket连接进程;
[0051]所述全局进程管理模块用于转发所述消息给所述对应的Websocket连接进程;
[0052]所述全局进程管理模块用于调用所述对应的Websocket连接进程将所述消息推送到所述其它智能终端。
[0053]上述智能终端的标识由所述主服务模块在接收所述智能终端发来的HTTP请求或Websocket握手请求时获得。
7[0054]上述全局进程管理模块还用于查询所述用户或内容数据,并对发送到所述Websocket连接进程的用户操作消息进行处理。
[0055]上述全局进程管理模块还用于根据需求读取所述用户或内容数据,并对转发给所述对应的Websocket连接进程的消息进行处理。
[0056]上述其它智能终端对所述智能终端的操作信令作相应的响应包括:所述其它智能终端呈现内容或响应控制命令。
[0057]上述其它智能终端响应控制命令包括:执行操作并通过Websocket将所述操作的消息上传到所述服务端,并由所述服务端推送至所述智能终端。
[0058]上述全局进程管理模块用于所述用户在所述智能终端登出时,通过所述智能终端标识查询所述互动状态数据库中所述用户标识对应的Websocket连接进程列表,将对应的Websocket连接进程信息删除。
[0059]本发明实现了通过公开互联网的多屏终端互联互动,极大提高了用户对互联网应用和多媒体服务的体验。摒弃了通过短距连接实现的复杂性和操作不便性,实现了真正意义的云互动。由于本发明是基于Web技术,有利于新应用的开发、部署和推广,促进互联网内容和服务的发展。
【专利附图】

【附图说明】[0060]图[0061]图[0062]图[0063]图[0064]图[0065]图[0066]图[0067]图[0068]图[0069]图
I为本发明基于Web的多屏互动系统的结构示意图;
2为本发明互动服务装置的结构示意图;
3为本发明基于Web的多屏互动方法的流程图;
4为本发明第一实施例中基于Web的多屏互动方法的流程图;
5为本发明第二实施例中基于Web的多屏互动方法的流程图;
6为本发明第三实施例中基于Web的多屏互动方法的流程图;
7为本发明基于Web的多屏互动方法第一实施例中消息处理的流程图;
8为本发明基于Web的多屏互动方法第二实施例中消息处理的流程图;
9为本发明智能终端与互动服务装置的连接交互及用户登录过程流程图;以及10为本发明多屏互动的消息处理过程流程图。
【具体实施方式】
[0070]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0071]本发明涉及一种通过公开互联网(Internet)实现的基于Web的多屏互动方法、系统和应用,包括:基于HTTP (Hypertext Transfer Protocol)和Websocket消息实现不同终端屏幕间内容的同步、共享和互操控;基于用户ID的终端间配对关联方法;基于上述方法实现的多屏互动系统100及基于上述多屏互动系统100实现的互联网多媒体应用。本发明将用户的多种终端设备在不受距离和硬件匹配的限制下通过互联网实现互联和互操作,极大地提高了用户对互联网多媒体服务的体验。
[0072]图I为本发明基于Web的多屏互动系统100的结构示意图,其中,本发明不涉及任何特定的软件和硬件,只规定了系统中各模块的逻辑行为和通信方式。模块或子系统以实线黑框表示,而模块间接口由单向或双向箭头表示并由大写英文字母标识其代号,所述多屏互动系统100包括若干客户端10及服务端20,所述客户端10包括:
[0073]智能终端11,用于供用户登录及对应用进行操作,并通过Websocket消息与服务端20进行交互;其中,所述智能终端11包括智能电视、互联网电视/IPTV机顶盒、手机、平板电脑等,为用户提供可视、可操作的界面接口,展示多媒体内容,响应用户的触屏、鼠标或遥控等操作,其通过互联网(Internet)与服务端20系统通信、交互。所述应用为运行在各种互联网终端上的软件或网页。
[0074]所述服务端20包括:
[0075]内容数据库21,用于存储内容数据;其中,内容数据库21系统记录了系统提供的所有媒体内容的编排信息和元数据等,其数据更新主要由后台内容管理系统(CMS)来控制完成,该过程不在本发明的范围内。
[0076]用户数据库22,用于存储用户信息;其中,用户数据库22系统保存各种用户相关信息,包括身份识别、订购信息、设备类型、访问历史、个性化配置等。
[0077]互动服务装置23,用于响应所述用户登录的智能终端11的Websocket握手请求,与所述用户登录的其它智能终端11进行关联,并建立所述智能终端11与所述其它智能终端11之间的通信连接以实现多个智能终端11间互联、互操作信令的转换和传输,供所述其它智能终端11对所述智能终端11的操作信令作相应的响应。其中,互动服务装置23是本发明的核心,其为服务系统的门户,功能包括:a)类似互联网电视或IPTV的EPG(Electronic Program Guide)系统或网站服务器,通过网络提供内容展示页和各业务的索引及导航,包含各类菜单、按钮、图标和链接等供用户访问相关内容,也提供各种动态或静态的用户信息山)作为AAA系统为用户提供注册、认证与鉴权的相关服务;c)多屏互动的信息控制中枢,直接与多个智能终端11通信实现各终端间互联、互操作信令的转换和传输。以上功能可在一个模块内实现也可分别在不同的模块内实现,比如将各功能部署在不同的服务器上,然后通过内部接口实现各功能间的交互,本发明规定该互动服务装置23的功能及实现这些功能的逻辑结构。互动服务装置23与智能终端11的通信方式包括HTTP (S)和Websocket (S),即系统中的A接口的实现方式。
[0078]优选的是,所述互动服务装置23包括:
[0079]主服务模块232,用于响应所述用户操作触发的HTTP请求和Weboscket握手请求,并调用相应模块对所述请求进行处理;
[0080]用户管理模块231,用于处理用户注册、认证和授权请求,实时更新所述用户信息和用户状态,并按需提供所述用户信息和用户状态;
[0081]全局进程管理模块233,用于采用预定算法生成Websocket连接进程池,以响应所述主服务模块232的调用,关联所述用户登录的其它智能终端11,并与所述其它智能终端11建立通信连接,通过进程间通信实现智能终端11间的数据接收、发送和处理;
[0082]Websocket连接进程池234,用于存放所有的Websocket连接进程。
[0083]图片/资源服务器通过互联网为多屏终端提供访问媒体内容时的相关图片和其他资源文件。
[0084]流媒体服务器/CDN为最终为用户提供视频流服务的功能实体。
9[0085]优选的是,所述预定算法即进程分布算法如下:
[0086]所述服务端维护全局进程字典{NodelD,[PID,….],Counter},其中以服务器标识NodeID为关键字保存对应的进程列表[PID,···.]和进程计数器Counter ;其中,初始值进程列表为空,而Counter为O。
[0087]所述服务端在响应每个Websocket握手请求时选取在进程数值Counter最小的服务器节点生成Websocket连接进程,将返回的所述Websocket连接进程ID添加到所述对应服务器标识NodeID下的进程列表,并将对应的计数器Counter加I ;其中,当进程管理模块接到建立Websocket连接的请求时,首先比较全局进程字典中各服务节点对应的计数器Counter的值,选取Counter值最小的服务器节点通过本地调用(当全局进程管理模块233运行在所选的服务节点时)或远程过程调用协议(RPC)在相应的服务器节点生成Websocket连接进程。
[0088]当所述Websocket连接进程结束返回时,将所述对应服务器标识NodeID的进程列表中相应的Websocket连接进程PID删除,同时将对应的计数器Counter减I。其中,每当生成一个新的Websocket连接进程,全局进程管理模块233都会将发起连接的客户端10的唯一标识ClientID与该进程唯一标识PID配对写入互动状态数据库{ClientID,PID}。ClientID是唯一标识某智能终端11的值,比如客户端IP加上端口号。
[0089]优选的是,所述服务端20还包括:互动状态数据库,用于临时存储所述用户及其登录的所述若干客户端10的智能终端11信息。
[0090]优选的是,所述全局进程管理模块233用于生成所述Websocket连接进程时,将所述智能终端11的标识与所述Websocket连接进程标识写入所述互动状态数据库,通过所述智能终端11标识查询所述互动状态数据库中对应的所述Websocket连接进程,并插入到所述互动状态数据库中以用户标识为关键字的用户进程表中。其中,所述智能终端11的标识由所述主服务模块232在接收所述智能终端11发来的HTTP请求或Websocket握手请求时获得;
[0091]所述智能终端11通过Websocket将所述用户操作的消息发送到所述服务端20,并由所述对应的Websocket连接进程接收处理;
[0092]所述全局进程管理模块233用于查询所述互动状态数据库,获取与所述用户登录的其它智能终端11连接的对应的Websocket连接进程;
[0093]更好的是,所述全局进程管理模块233还用于查询所述用户或内容数据,并对发送到所述Websocket连接进程的用户操作消息进行处理。
[0094]所述全局进程管理模块233用于转发所述消息给所述对应的Websocket连接进
[0095]更好的是,所述全局进程管理模块233还用于根据需求读取所述用户或内容数据,并对转发给所述对应的Websocket连接进程的消息进行处理。
[0096]所述全局进程管理模块233用于调用所述对应的Websocket连接进程将所述消息推送到所述其它智能终端11。
[0097]优选的是,所述其它智能终端11对所述智能终端11的操作信令作相应的响应包括:所述其它智能终端11呈现内容或响应控制命令。其中,所述其它智能终端11响应控制命令包括:执行操作并通过Websocket将所述操作的消息上传到所述服务端20,并由所述
10服务端20推送至所述智能终端11。
[0098]更好的是,所述全局进程管理模块233用于所述用户在所述智能终端11登出时,通过所述智能终端11标识查询所述互动状态数据库中所述用户标识对应的Websocket连接进程列表,将对应的Websocket连接进程信息删除。
[0099]针对图I所描述的系统结构,以下对系统各模块间交互的接口功能和技术要点进行说明。
[0100]接口 A :智能终端11与服务系统中互动服务装置23的网络接口,负责让客户端10获取服务端20中任何与服务有关的信息,包括媒体内容呈现信息、用户信息、图片、链接、更新等,承载用户进行注册、认证、鉴权交互的请求和应答,以及智能终端11互动时,对相关命令消息的双向传输。在本发明中,该接口基于HTTP(S)和Websocket (S)通信协议。
[0101]接口 B :互动服务装置23读取内容及呈现的相关信息,可以是SQL查询或其他数据接口,该接口不在本发明范围。
[0102]接口 C :互动服务装置23读取用户信息及在用户进行注册、修改个人信息时将相关数据写入用户数据库22的接口,该接口一般基于SQL查询实现,不在本发明范围。
[0103]互动服务装置23与智能终端11之间的接口 :当用户登录智能终端11后,互动服务装置23将各终端的相关信息通过该接口临时保存到互动状态数据库,包括类型、通信的参数、访问历史、当前状态等,以及在处理互动请求时通过该接口读取用户和终端的相关状态信息。该接口基于包括但不限于SQL查询、RPC、程序API和REST API等方式实现。
[0104]智能终端11与图片/资源服务器的接口 :智能终端11通过HTTP获取相关图片及资源文件。
[0105]智能终端11与流媒体服务器/CDN的接口 :流媒体服务接口,不在本发明权力范围。
[0106]图2为本发明互动服务装置23的结构示意图,所述互动服务装置23包括:
[0107]主服务模块232,用于响应所述用户操作触发的HTTP请求和Weboscket握手请求,并调用相应模块对所述请求进行处理;其中,主服务模块232为直接面向智能终端11请求的入口(Portal)。
[0108]用户管理模块231,用于处理用户注册、认证和授权请求,实时更新所述用户信息和用户状态,并按需提供所述用户信息和用户状态。其中,用户管理模块231通过系统C接口对用户数据库22系统进行数据读写操作。
[0109]全局进程管理模块233,用于采用预定算法生成Websocket连接进程池,以响应所述主服务模块232的调用,关联所述用户登录的其它智能终端11,并与所述其它智能终端11建立通信连接,通过进程间通信实现智能终端11间的数据接收、发送和处理;其中,所述全局进程管理模块233用于统一管理与各终端进行消息交互的Websocket连接进程。当Portal接收到由客户端10发来的Weboscket握手请求,Portal调用全局进程管理模块233生成一个新的进程响应该Websocket请求并与客户端10建立TCP连接,每当有新的Websocket请求,都由单独的进程负责响应该请求并与对应的客户端10建立一个最终的Websocket数据连接。
[0110]Websocket连接进程池234,用于存放所有的Websocket连接进程。其中,所有的Websocket连接进程都由全局进程管理模块233统一生成和管理,形成一个进程池,可分布
11在不同的服务器上。
[0111]以上各模块可以在同一服务器上实现,也可分布在不同的服务器上,所以模块间的接口可以是程序调用、进程间通信或网络通信。
[0112]优选的是,所述预定算法即进程分布算法同图I的描述,此处不复赘述。
[0113]优选的是,所述服务端20还包括:互动状态数据库,用于临时存储所述用户及其登录的所述若干客户端10的智能终端11信息。
[0114]更好的是,所述全局进程管理模块233用于生成所述Websocket连接进程时,将所述智能终端11的标识与所述Websocket连接进程标识写入所述互动状态数据库,通过所述智能终端11标识查询所述互动状态数据库中对应的所述Websocket连接进程,并插入到所述互动状态数据库中以用户标识为关键字的用户进程表中。其中,所述智能终端11的标识由所述主服务模块232在接收所述智能终端11发来的HTTP请求或Websocket握手请求时获得;
[0115]所述智能终端11通过Websocket将所述用户操作的消息发送到所述服务端20,并由所述对应的Websocket连接进程接收处理;
[0116]所述全局进程管理模块233用于查询所述互动状态数据库,获取与所述用户登录的其它智能终端11连接的对应的Websocket连接进程;
[0117]更好的是,所述全局进程管理模块233还用于查询所述用户或内容数据,并对发送到所述Websocket连接进程的用户操作消息进行处理。
[0118]所述全局进程管理模块233用于转发所述消息给所述对应的Websocket连接进程;
[0119]更好的是,所述全局进程管理模块233还用于根据需求读取所述用户或内容数据,并对转发给所述对应的Websocket连接进程的消息进行处理。
[0120]所述全局进程管理模块233用于调用所述对应的Websocket连接进程将所述消息推送到所述其它智能终端11。
[0121]优选的是,所述其它智能终端11对所述智能终端11的操作信令作相应的响应包括:所述其它智能终端11呈现内容或响应控制命令。其中,所述其它智能终端11响应控制命令包括:执行操作并通过Websocket将所述操作的消息上传到所述服务端20,并由所述服务端20推送至所述智能终端11。
[0122]更好的是,所述全局进程管理模块233用于所述用户在所述智能终端11登出时,通过所述智能终端11标识查询所述互动状态数据库中所述用户标识对应的Websocket连接进程列表,将对应的Websocket连接进程信息删除。
[0123]本发明绕过复杂的硬件和底层实现,将终端设备间的互联建立在Web层之上,基于HTTP和衍生的通信协议Websocket,提出设备间能够在整个互联网(Internet)范围内实现互通、互联和互动的方法、系统和应用。
[0124]图3为本发明基于Web的多屏互动方法的流程图,其可通过如图I所示的多屏互动系统100实现,所述方法包括步骤有:
[0125]步骤S301,登录步骤,用户在若干智能终端11同时登录,并选择对其中任一智能终端11的应用进行操作;
[0126]步骤S302,关联其它终端步骤,服务端20响应所述用户登录的所述任一智能终端11的Weboscket握手请求,将所述任一智能终端与用户已登录的其它智能终端11进行关联;以及
[0127]步骤S303,通信步骤,建立所述任一智能终端11与所述其它智能终端11之间的通信连接以实现多个智能终端11间互联、互操作信令的转换和传输;
[0128]步骤S304,响应步骤,所述其它智能终端11对所述任一智能终端11的操作信令作相应的响应。
[0129]图4为本发明第一实施例中基于Web的多屏互动方法的流程图,所述方法包括步骤有:
[0130]步骤S401,登录步骤,用户在若干智能终端11同时登录,并选择对其中任一智能终端11的应用进行操作;
[0131]步骤S402,关联其它终端步骤,服务端20响应用户登录的任一智能终端11的Weboscket握手请求,将任一智能终端与用户已登录的其它智能终端11进行关联;
[0132]步骤S403,通信步骤,建立任一智能终端11与其它智能终端11之间的通信连接以实现多个智能终端11间互联、互操作信令的转换和传输;
[0133]步骤S404,响应步骤,其它智能终端11呈现内容以响应任一智能终端11的操作信令。
[0134]在本实施例中,用户选择在其登录的终端间进行屏幕共享,若有用户正在操作终端A,那么A终端将当前显示的页面的资源ID (比如页面URL或在数据库中的唯一标识)通过Websocket发送到服务端20,由相应的Websocket连接进程处理,查询互动状态数据库中与该用户ID对应的Websocket进程列表,通过进程间通信将该消息转发到其他Websocket进程,在由各进程将消息推送到各自连接的客户端10,最后由收到消息的客户端10根据资源ID跳转到相应的页面。其过程如图10所示。
[0135]其他终端最后收到的消息可以与A终端发出的消息是一样的,也可以是经服务端20处理后生成的新消息,比如为了适应其他终端的显示,服务端20选择与A终端当前页内容一样但不同分辨率的资源ID返回给对应终端。这个通信过程中的消息格式包括但不限于JS0N、纯文本、二进制数据和XML。
[0136]图5为本发明第二实施例中基于Web的多屏互动方法的流程图,所述方法包括步骤有:
[0137]步骤S501,登录步骤,用户在若干智能终端11同时登录,并选择对其中任一智能终端11的应用进行操作;
[0138]步骤S502,关联其它终端步骤,服务端20响应用户登录的任一智能终端11的Weboscket握手请求,将任一智能终端与用户已登录的其它智能终端11进行关联;
[0139]步骤S503,通信步骤,建立任一智能终端11与其它智能终端11之间的通信连接以实现多个智能终端11间互联、互操作信令的转换和传输;
[0140]步骤S504,响应步骤,其它智能终端11执行操作并通过websocket将所述操作的消息上传到所述服务端20,并由所述服务端20推送至所述任一智能终端11,以响应任一智能终端11的操作信令。
[0141]在本实施例中,用户在A和B两个终端上同时登录,用户选择其中任意一个易于操作的作为控制端,比如手机或平板电脑,假设为终端A ;而B终端为较大屏幕但不便于操作,
13、
比如电视或电脑。用户首先在A终端上访问浏览视频信息或其他媒体内容,终端A通过HTTP或Websocket从互动服务装置23获得相关数据,包括图片资源地址和流媒体服务地址等。当用户通过客户端10界面选择将某视频、音频或图文内容切换到其他屏幕上播放时,终端通过Websocket消息将目标内容的ID和用户的动作意图发送到互动服务装置23,由对应的Websocket连接进程处理,通过查询互动状态数据库中与用户ID对应的其他Websocket连接进程,将处理后的消息通过进程间通信转发给其他Websocket连接进程,然后该进程再根据需要与相关内容和用户数据库22交互后,将最后处理的消息推送给与其连接的客户端10,客户端10根据消息做相应的处理实现对内容的呈现和对控制命令的响应,比如影片的播放、暂停、快进快退等。整个消息的传输和处理过程如图10所示。
[0142]内容的分享是双向的,不仅可以将终端A上呈现的内容甩屏到终端B播放,终端A也可以主动抓取原本在终端B上播放的内容。比如当终端B (电视屏幕)正在播放一个影片时,用户想抓取当前的一个画面到手机上,用户可以挥动手机,触发器其将画面抓取的命令发送到电视,并由电视响应命令截取当前播放视频画面,上传到服务端20,然后由服务端20通过Websocket消息推送到手机端。
[0143]图6为本发明第三实施例中基于Web的多屏互动方法的流程图,所述方法包括步骤有:
[0144]步骤S601,登录步骤,用户在若干智能终端11同时登录,并选择对其中任一智能终端11的应用进行操作;
[0145]步骤S602,关联其它终端步骤,服务端20响应用户登录的任一智能终端11的Weboscket握手请求,将任一智能终端与用户已登录的其它智能终端11进行关联;
[0146]步骤S603,通信步骤,建立任一智能终端11与其它智能终端11之间的通信连接以实现多个智能终端11间互联、互操作信令的转换和传输;
[0147]步骤S604,响应步骤,其它智能终端11对任一智能终端11的操作信令作相应的响
[0148]步骤S605,登出步骤,所述用户在任一所述智能终端11登出。
[0149]优选的是,用户在任一智能终端登出,通过任一所述智能终端标识查询互动状态数据库中用户标识对应的Websocket连接进程列表,将对应的Websocket连接进程信息删除。
[0150]图7为本发明基于Web的多屏互动方法第一实施例中消息处理的流程图,所述方法包括步骤有:
[0151]步骤S701,服务端20采用预定算法建立Websocket连接进程以响应用户操作;
[0152]优选的是,所述预定算法包括:
[0153]所述服务端维护一全局进程字典{NodelD,[PID,….],Counter},其中以服务器标识NodeID为关键字保存对应的进程列表[PID,….]和进程计数器Counter ;
[0154]所述服务端在响应每个Websocket握手请求时选取在进程数值Counter最小的服务器节点生成所述Websocket连接进程,将返回的所述Websocket连接进程ID添加到所述对应服务器标识NodeID下的进程列表,并将对应的计数器Counter加I ;
[0155]当所述Websocket连接进程结束返回时,所述服务端将所述对应服务器标识NodeID的进程列表中相应的所述Websocket连接进程PID删除,同时将所述对应的计数器
14Counter 减 I。
[0156]步骤S702,将若干智能终端11标识与Websocket连接进程的信息写入互动状态数据库,通过若干智能终端11标识查询互动状态数据库中对应的Websocket连接进程,并插入到互动状态数据库中以用户标识为关键字的用户进程表中;
[0157]优选的是,所述任一智能终端的标识由所述服务端在接收所述任一智能终端发来的HTTP请求或Websocket握手请求时获得。
[0158]步骤S703,任一智能终端11通过Websocket将用户操作的消息发送到服务端20,并由对应的Websocket连接进程接收处理;
[0159]步骤S704,查询互动状态数据库,获取与用户登录的其它智能终端11连接的对应的Websocket连接进程;
[0160]步骤S705,转发消息给对应的Websocket连接进程;
[0161]步骤S706,对应的Websocket连接进程将消息推送到其它智能终端11。
[0162]图8为本发明基于Web的多屏互动方法第二实施例中消息处理的流程图,所述方法包括步骤有:
[0163]步骤S801,服务端20采用预定算法建立Websocket连接进程以响应用户操作;
[0164]优选的是,所述预定算法如上所述,此处不复赘述。
[0165]步骤S802,将 若干智能终端11标识与Websocket连接进程的信息写入互动状态数据库,通过若干智能终端11标识查询互动状态数据库中对应的Websocket连接进程,并插入到互动状态数据库中以用户标识为关键字的用户进程表中;
[0166]优选的是,所述任一智能终端的标识由所述服务端在接收所述任一智能终端发来的HTTP请求或Websocket握手请求时获得。
[0167]步骤S803,任一智能终端11通过Websocket将用户操作的消息发送到服务端20,并由对应的Websocket连接进程接收处理;
[0168]步骤S804,查询互动状态数据库,获取与用户登录的其它智能终端11连接的对应的Websocket连接进程;
[0169]步骤S805, Websocket连接进程查询用户或内容数据,并对消息进行处理;
[0170]步骤S806,转发消息给对应的Websocket连接进程;
[0171]步骤S807,对应的Websocket连接进程根据需求读取用户或内容数据,并对消息进行处理;
[0172]步骤S808,对应的Websocket连接进程将消息推送到其它智能终端11。
[0173]图9为本发明智能终端11与互动服务装置23的连接交互及用户登录过程流程图,本发明只规定用户在登录多个终端后,系统如何通过用户ID使得各用户终端关联,以实现终端间信息同步、共享,而具体的用户注册、认证和鉴权过程及算法不在本发明范围内。
[0174]具体流程如图9所示,当用户终端打开客户端10应用(网页访问形式或本地应用)时,客户端10与服务端20的互动服务装置23通过A接口建立一个Websocket连接,且客户端10通过HTTP请求获得应用的相关呈现信息和数据,包括从内容数据库21系统读取的内容信息及图片和其他资源文件等。而服务端20的动态信息由互动服务装置23通过Websocket消息推送到用户终端。当用户登录时,客户端10将用户认证信息(包括用户ID和登录密码等)通过A接口发送互动服务装置23,经过认证、授权(过程不在本发明范围内)后,互动服务装置23通过当前用户所登录的终端ClientID在互动状态数据库中查询其对应的Websocket连接进程唯一标识PID,然后将其加入以对应用户ID为关键字的进程列表中,并写入互动状态数据库。当用户在其他终端登录,互动服务装置23利用同样的方法将对应终端的Websocket连接进程信息插入以该用户ID为关键字的进程列表,当用户从某客户端10登出时,互动服务装置23将互动状态数据库中对应的连接进程信息删除。
[0175]图10为本发明多屏互动的消息处理过程流程图,所述消息处理过程包括步骤有:
[0176]步骤1,根据用户操作,多屏终端通过Websocket将消息或命令发送到服务端20中对应的Websocket连接进程;
[0177]步骤2,查询互动状态数据库获取与用户其他终端连接的Websocket连接进程,并查询相关用户或内容数据以对消息进行相应处理;
[0178]步骤3,通过进程间通信将处理后的消息转发给相应的其他Websocket连接进程;
[0179]步骤4,接收到转发的消息后,Websocket连接进程根据需要读取相关内容或用户数据并对消息进行处理;
[0180]步骤5,Websocket连接进程将处理后的最后消息发送到对应的客户端10,并由客户端10做相应的响应。
[0181]综上所述,本发明实现了通过公开互联网的不同智能终端11间互联互动,极大提高了用户对互联网应用和多媒体服务的体验。摒弃了通过短距连接实现的复杂性和操作不便性,实现了真正意义的云互动。由于本发明是基于Web技术,有利于新应用的开发、部署和推广,促进互联网内容和服务的发展。
[0182]以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种基于Web的多屏互动方法,其特征在于,包括步骤有:登录步骤,用户在若干智能终端同时登录,并选择对其中任一智能终端的应用进行操作;关联其它终端步骤,服务端响应所述用户登录的所述任一智能终端的Websocket握手请求,将所述任一智能终端与用户已登录的其它智能终端进行关联;以及通信步骤,建立所述任一智能终端与所述其它智能终端之间的通信连接以实现多个智能终端间互联、互操作信令的转换和传输;响应步骤,所述其它智能终端对所述任一智能终端的操作信令作相应的响应。
2.根据权利要求1所述的多屏互动方法,其特征在于,所述通信步骤包括:进程生成步骤,所述服务端采用预定算法建立Websocket连接进程池以响应所述用户操作;互动状态数据库建立步骤,将若干所述智能终端标识与Websocket连接进程的信息写入所述互动状态数据库,通过若干所述智能终端标识查询所述互动状态数据库中对应的所述Websocket连接进程,并插入到所述互动状态数据库中以用户标识为关键字的用户进程表中;发送步骤,所述任一智能终端通过Websocket将所述用户操作的消息发送到所述服务端,并由所述对应的Websocket连接进程接收处理;查询步骤,查询所述互动状态数据库,获取与所述用户登录的其它智能终端连接的对应的Websocket连接进程;转发步骤,转发所述消息给所述对应的Websocket连接进程;以及推送步骤,所述对应的Websocket连接进程将所述消息推送到所述其它智能终端。
3.根据权利要求2所述的多屏互动方法,其特征在于,所述预定算法包括:所述服务端维护一全局进程字典{NodelD,[PID,一.],C0Unter},其中以服务器标识NodeID为关键字保存对应的进程列表[PID,….]和进程计数器Counter ;所述服务端在响应每个Websocket握手请求时选取在进程数值Counter最小的服务器节点生成所述Websocket连接进程,将返回的所述Websocket连接进程ID添加到所述对应服务器标识NodeID下的进程列表,并将对应的计数器Counter加I ;当所述Websocket连接进程结束返回时,所述服务端将所述对应服务器标识NodeID的进程列表中相应的所述Websocket连接进程PID删除,同时将所述对应的计数器Counter减I。
4.根据权利要求2所述的多屏互动方法,其特征在于,所述任一智能终端的标识由所述服务端在接收所述任一智能终端发来的HTTP请求或Websocket握手请求时获得。
5.根据权利要求2所述的多屏互动方法,其特征在于,所述查询步骤后,转发步骤前,还包括:第一处理步骤,所述Websocket连接进程查询所述用户或内容数据,并对所述消息进行处理。
6.根据权利要求2所述的多屏互动方法,其特征在于,所述转发步骤后,推送步骤前,还包括:第二处理步骤,所述对应的Websocket连接进程根据需求读取所述用户或内容数据,
7.根据权利要求1所述的多屏互动方法,其特征在于,所述响应步骤中对所述任一智 能终端的操作信令作相应的响应包括:所述其它智能终端呈现内容或响应控制命令。
8.根据权利要求7所述的多屏互动方法,其特征在于,所述其它智能终端响应控制命 令包括:执行操作并通过Websocket将所述操作的消息发送到所述服务端,并由所述服务 端推送至所述任一智能终端。
9.根据权利要求2所述的多屏互动方法,其特征在于,所述响应步骤后,还包括:登出步骤,所述用户在任一所述智能终端登出,通过任一所述智能终端标识查询所述互动状态数据库中所述用户标识对应的Websocket连接进程列表,将对应的Websocket连 接进程信息删除。
10.一种基于Web的多屏互动系统,包括若干客户端及服务端,其特征在于,所述客户 端包括:智能终端,用于供用户登录及对应用进行操作,并通过Websocket消息与服务端进行 交互;所述服务端包括:内容数据库,用于存储内容数据;用户数据库,用于存储用户信息;以及互动服务装置,用于响应所述用户登录的智能终端的Websocket握手请求,与所述用 户登录的其它智能终端进行关联,并建立所述智能终端与所述其它智能终端之间的通信连 接以实现多个智能终端间互联、互操作信令的转换和传输,供所述其它智能终端对所述智 能终端的操作信令作相应的响应。
11.根据权利要求10所述的多屏互动系统,其特征在于,所述互动服务装置包括:主服务模块,用于响应所述用户操作触发的HTTP请求和Websocket握手请求,并调用相应模块对所述请求进行处理;用户管理模块,用于处理用户注册、认证和授权请求,实时更新所述用户信息和用户状 态,并按需提供所述用户信息和用户状态;全局进程管理模块,用于采用预定算法生成Websocket连接进程池,以响应所述主服 务模块的调用,关联所述用户登录的其它智能终端,并与所述其它智能终端建立通信连接, 通过进程间通信实现智能终端间的数据接收、发送和处理;Websocket连接进程池,用于存放所有的Websocket连接进程。
12.根据权利要求11所述的多屏互动系统,其特征在于,所述预定算法包括:所述服务端维护全局进程字典{NodelD, [PID,….],C0Unter},其中以服务器标识 NodelD为关键字保存对应的进程列表[PID,….]和进程计数器Counter ;所述服务端在响应每个Websocket握手请求时选取在进程数值Counter最小的服务器 节点生成Websocket连接进程,将返回的所述Websocket连接进程ID添加到所述对应服务 器标识NodelD下的进程列表,并将对应的计数器Counter加1 ;当所述Websocket连接进程结束返回时,将所述对应服务器标识NodelD的进程列表中 相应的Websocket连接进程PID删除,同时将对应的计数器Counter减1。
13.根据权利要求11所述的多屏互动系统,其特征在于,所述服务端还包括:互动状态数据库,用于临时存储所述用户及其登录的所述若干客户端的智能终端信息。
14.根据权利要求13所述的多屏互动系统,其特征在于,所述全局进程管理模块用于生成所述Websocket连接进程时,将所述智能终端的标识与所述Websocket连接进程标识写入所述互动状态数据库,通过所述智能终端标识查询所述互动状态数据库中对应的所述Websocket连接进程,并插入到所述互动状态数据库中以用户标识为关键字的用户进程表中;所述智能终端通过Websocket将所述用户操作的消息发送到所述服务端,并由所述对应的Websocket连接进程接收处理;所述全局进程管理模块用于查询所述互动状态数据库,获取与所述用户登录的其它智能终端连接的对应的Websocket连接进程;所述全局进程管理模块用于转发所述消息给所述对应的Websocket连接进程;所述全局进程管理模块用于调用所述对应的Websocket连接进程将所述消息推送到所述其它智能终端。
15.根据权利要求14所述的多屏互动系统,其特征在于,所述智能终端的标识由所述主服务模块在接收所述智能终端发来的HTTP请求或Websocket握手请求时获得。
16.根据权利要求14所述的多屏互动系统,其特征在于,所述全局进程管理模块还用于查询所述用户或内容数据,并对发送到所述Websocket连接进程的用户操作消息进行处理。
17.根据权利要求14所述的多屏互动系统,其特征在于,所述全局进程管理模块还用于根据需求读取所述用户或内容数据,并对转发给所述对应的Websocket连接进程的消息进行处理。
18.根据权利要求10所述的多屏互动系统,其特征在于,所述其它智能终端对所述智能终端的操作信令作相应的响应包括:所述其它智能终端呈现内容或响应控制命令。
19.根据权利要求18所述的多屏互动系统,其特征在于,所述其它智能终端响应控制命令包括:执行操作并通过Websocket将所述操作的消息上传到所述服务端,并由所述服务端推送至所述智能终端。
20.根据权利要求14所述的多屏互动系统,其特征在于,所述全局进程管理模块用于所述用户在所述智能终端登出时,通过所述智能终端标识查询所述互动状态数据库中所述用户标识对应的Websocket连接进程列表,将对应的Websocket连接进程信息删除。
【文档编号】H04L29/08GK103491179SQ201310451735
【公开日】2014年1月1日 申请日期:2013年9月27日 优先权日:2013年9月27日
【发明者】犹杰, 郑杰, 张立杰, 黄思钧 申请人:百视通网络电视技术发展有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1