本发明属于通信技术领域,尤其涉及互动展示控制方法、系统、服务器、控制终端及播放终端。
背景技术:
互动展示控制系统广泛应用于展厅、演播室和会议中心等场所,用于讲解人员或者操作人员进行多屏互动或者切换内容等应用。目前常用的互动展示控制系统基于c/s(client/server,客户端/服务器)架构,包括一台运行server程序的中控服务器,安装播放软件的多台播放终端,以及安装控制软件的控制终端,服务器与播放终端、控制终端通过socket(套接字)进行通信。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:现有的互动展示控制系统的结构较复杂,服务器分为多类;需要进行底层软件开发、流媒体服务开发、手机app(application,应用程序)开发、播放软件开发等,开发成本高、开发周期长;部署、维护、升级复杂,各种架构的服务器混用,安装过程长,出现问题时需要多方合作排查,此外,每台播放终端都需要部署一套客户端控制软件和播放软件,在需要进行漏洞修复或者功能升级时,需要分别对每台播放终端进行处理;播放终端可以为pc(personalcomputer,个人计算机),也可以为运行安卓系统的嵌入式主板,对于pc,需要开发windows下的播放软件,对于运行安卓系统的嵌入式主板,需要开发相应的安卓播放软件;控制终端可以采用ios或者安卓操作系统等,若采用ios,则需要开发ios下的控制软件,若采用安卓操作系统,则需要开发安卓操作系统下的控制软件。
技术实现要素:
鉴于此,本发明实施例提供了一种互动展示控制方法、系统、web服务器、控制终端及播放终端,以解决现有的互动展示控制技术基于多架构、多类服务器以及多类操作系统,开发及维护难度较大、成本较高的问题。
第一方面,本发明实施例提供了一种互动展示控制方法,包括:
控制终端通过websocket发送第一连接请求至web服务器;
所述web服务器根据所述第一连接请求与所述控制终端建立连接,并将所述web服务器与所述控制终端的连接维护在连接池中;
播放终端通过websocket发送第二连接请求至所述web服务器;
所述web服务器根据所述第二连接请求与所述播放终端建立连接,并将所述web服务器与所述播放终端的连接维护在所述连接池中;
所述控制终端通过websocket发送播放控制指令至所述web服务器;
所述web服务器确定所述播放控制指令对应的所述播放终端,并通过websocket将所述播放控制指令转发至所述播放终端;
所述播放终端通过websocket接收所述播放控制指令,并执行所述播放控制指令。
第二方面,本发明实施例提供了一种互动展示控制系统,包括:
web服务器、控制终端和至少一个播放终端;
所述控制终端,用于通过websocket发送第一连接请求至所述web服务器,以及通过websocket发送播放控制指令至所述web服务器;
所述播放终端,用于通过websocket发送第二连接请求至所述web服务器,以及通过websocket接收所述播放控制指令,并执行所述播放控制指令;
所述web服务器,用于根据所述第一连接请求与所述控制终端建立连接,将所述web服务器与所述控制终端的连接维护在连接池中,根据所述第二连接请求与所述播放终端建立连接,将所述web服务器与所述播放终端的连接维护在所述连接池中,确定所述播放控制指令对应的所述播放终端,并通过websocket将所述播放控制指令转发至所述播放终端。
第三方面,本发明实施例提供了一种web服务器,包括:
第一接收单元,用于通过websocket接收控制终端发送的第一连接请求;
第一连接建立单元,用于根据所述第一连接请求与所述控制终端建立连接,并将所述web服务器与所述控制终端的连接维护在连接池中;
第二接收单元,用于通过websocket接收播放终端发送的第二连接请求;
第二连接建立单元,用于根据所述第二连接请求与所述播放终端建立连接,并将所述web服务器与所述播放终端的连接维护在所述连接池中;
第三接收单元,用于通过websocket接收所述控制终端发送的播放控制指令;
转发单元,用于确定所述播放控制指令对应的所述播放终端,并通过websocket将所述播放控制指令转发至所述播放终端,以使所述播放终端接收并执行所述播放控制指令。
第四方面,本发明实施例提供了一种控制终端,包括:
第一发送单元,用于通过websocket发送第一连接请求至web服务器,以使所述web服务器根据所述第一连接请求与所述控制终端建立连接并将所述web服务器与所述控制终端的连接维护在连接池中;
第二发送单元,用于通过websocket发送播放控制指令至所述web服务器,以使所述web服务器通过websocket将所述播放控制指令转发至所述播放控制 指令对应的所述播放终端。
第五方面,本发明实施例提供了一种播放终端,包括:
第三发送单元,用于通过websocket发送第二连接请求至web服务器,以使所述web服务器根据所述第二连接请求与所述播放终端建立连接并将所述web服务器与所述播放终端的连接维护在所述连接池中;
第四接收单元,用于通过websocket接收所述web服务器转发的播放控制指令,并执行所述播放控制指令。
本发明实施例与现有技术相比存在的有益效果是:本发明实施例采用websocket作为互动展示控制系统的基础通信协议,将b/s(browser/server,浏览器/服务器)架构与c/s架构合二为一,大大简化了系统架构,有效降低了开发与维护成本;控制终端和播放终端均采用web方式,由此无需针对windows、ios或者android等操作系统开发不同的客户端软件,也无需进行客户端软件的维护工作,大大降低了开发与维护难度,节省了人力成本。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的互动展示控制系统的系统架构图;
图2是本发明实施例提供的互动展示控制方法的实现流程图;
图3是本发明实施例提供的web服务器的结构框图;
图4是本发明实施例提供的控制终端的结构框图;
图5是本发明实施例提供的播放终端的结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
图1示出了本发明实施例提供的互动展示控制系统的系统架构图,为了便于说明,仅示出了与本发明实施例相关的部分。
参照图1,该系统包括:
web服务器11、控制终端12和至少一个播放终端13;
所述控制终端12,用于通过websocket发送第一连接请求至所述web服务器11,以及通过websocket发送播放控制指令至所述web服务器11;
所述播放终端13,用于通过websocket发送第二连接请求至所述web服务器11,以及通过websocket接收所述播放控制指令,并执行所述播放控制指令;
所述web服务器11,用于根据所述第一连接请求与所述控制终端12建立连接,将所述web服务器11与所述控制终端12的连接维护在连接池中,根据所述第二连接请求与所述播放终端13建立连接,将所述web服务器11与所述播放终端13的连接维护在所述连接池中,确定所述播放控制指令对应的所述播放终端13,并通过websocket将所述播放控制指令转发至所述播放终端13。
优选地,所述web服务器11,还用于通过http服务为所述控制终端12和所述播放终端13分配id号;
所述web服务器11,具体用于根据所述播放控制指令中携带的id号确定所述播放控制指令对应的所述播放终端13。
优选地,所述web服务器11具体用于:
根据所述第一连接请求中携带的所述控制终端12的id号、ip地址和/或mac地址对所述控制终端12进行鉴权,并在鉴权通过后与所述控制终端12建立连接;
根据所述第二连接请求中携带的所述播放终端13的id号、ip地址和/或mac地址对所述播放终端13进行鉴权,并在鉴权通过后与所述播放终端13建立连接。
本发明实施例采用websocket作为互动展示控制系统的基础通信协议,将b/s(browser/server,浏览器/服务器)架构与c/s架构合二为一,大大简化了系统架构,有效降低了开发与维护成本;控制终端和播放终端均采用web方式,由此无需针对windows、ios或者android等操作系统开发不同的客户端软件,也无需进行客户端软件的维护工作,大大降低了开发与维护难度,节省了人力成本。
图2示出了本发明实施例提供的互动展示控制方法的实现流程图,该流程图的执行主体可以为图1中的web服务器11、控制终端12和播放终端13。参照图2,该方法包括:
在步骤s201中,控制终端通过websocket发送第一连接请求至web服务器。
在本发明实施例中,控制终端可以采用手机或者平板电脑等移动终端,也可以采用pc,在此不作限定。控制终端的操作系统可以为ios、android操作系统或者windows操作系统等,在此不作限定。
控制终端打开web(网页),通过websocket发送第一连接请求至web服务器,以与web服务器建立连接。
作为本发明的一个实施例,在控制终端采用html(hypertextmarkuplanguage,超文本标记语言)5规范。
在步骤s202中,web服务器根据第一连接请求与控制终端建立连接,并将web服务器与控制终端的连接维护在连接池中。
web服务器根据第一连接请求对控制终端进行鉴权,若鉴权通过,则与控制终端建立连接,将web服务器与控制终端的连接维护在连接池中,并返回登录验证消息至控制终端,以使用户在控制终端进行登录操作。
在步骤s203中,播放终端通过websocket发送第二连接请求至web服务器。
在本发明实施例中,播放终端可以为pc或者嵌入式主板等,在此不作限定。播放终端的操作系统可以为android操作系统或者windows操作系统等,在此不作限定。
播放终端通过websocket发送第二连接请求至web服务器,以与web服务器建立连接。
在步骤s204中,web服务器根据第二连接请求与播放终端建立连接,并将web服务器与播放终端的连接维护在连接池中。
web服务器根据第二连接请求对播放终端进行鉴权,若鉴权通过,则与播放终端建立连接,将web服务器与播放终端的连接维护在连接池中,并返回登录验证消息至播放终端,以使用户在播放终端进行登录操作。
在本发明实施例中的,通过websocket,web服务器与控制终端或者播放终端的浏览器只需要做一个握手的动作就能形成web服务器与浏览器之间的 快速通道,即建立web服务器与控制终端、web服务器与播放终端的连接。由于web服务器与控制终端之间、web服务器与播放终端之间通信的消息的消息头很小,大概只有2bytes,因此采用websocket大大减轻了系统负荷。且通过web服务器主动向浏览器推送消息,底层同样是基于tcp(transmissioncontrolprotocol,传输控制协议),可以达到传统c/s架构的控制效率。
web服务器上同时部署http(hypertexttransferprotocol,超文本传输协议)服务与websocket服务。http服务负责后台管理页面,完成用户权限分配,播放终端、控制终端的id号分配,并进行资源文件管理;通过安装ffmpeg(fastforwardmovingpictureexpertsgroup,快进动态图像专家组)插件支持流媒体服务;通过web服务提供素材访问地址,供播放终端调用、下载。websocket服务负责接收控制终端、播放终端的连接请求,并维护连接池;接收控制终端发送的播放控制指令,并解析目标的播放终端,以将播放控制指令转发至目标的播放终端;通过id号、ip地址和/或mac地址对播放终端、控制终端进行鉴权。
在步骤s205中,控制终端通过websocket发送播放控制指令至web服务器。
控制终端选择目标播放终端的id(identification,身份标识)号,并发送携带目标播放终端的id号的播放控制指令至web服务器。
在步骤s206中,web服务器确定播放控制指令对应的播放终端。
web服务器根据播放控制指令中携带的播放终端的id号确定播放控制指令对应的播放终端的地址。
在步骤s207中,web服务器通过websocket将播放控制指令转发至播放终端。
在步骤s208中,播放终端通过websocket接收播放控制指令,并执行播放控制指令。
播放终端通过javascript进行dom(documentobjectmodel,文档对象模型)操作完成显示布局,并根据播放控制指令通过javascript进行dom操作改变界面内容,如改变当前项、切换图片、播放流媒体内容等,以完成对控制终端的响应。
作为本发明的一个实施例,播放终端接收到播放控制指令后,返回确认消息至web服务器。web服务器在接收到确认消息后,将确认消息转发至控制终端。
在本发明实施例中,以网页代替传统的控制软件、播放软件等客户端软件,只需要通过支持html5协议的浏览器即可完成实时控制、资源调度和屏幕展示等功能。
优选地,在控制终端通过websocket发送第一连接请求至web服务器之前,该方法还包括:
web服务器通过http服务为控制终端和播放终端分配id号;
web服务器确定播放控制指令对应的播放终端具体为:web服务器根据播放控制指令中携带的id号确定播放控制指令对应的播放终端。
优选地,web服务器根据第一连接请求与控制终端建立连接具体为:web服务器根据第一连接请求中携带的控制终端的id号、ip(internetprotocol,网际协议)地址和/或mac(mediaaccesscontrol,介质访问控制)地址对控制终端进行鉴权,并在鉴权通过后与控制终端建立连接;
web服务器根据第二连接请求与播放终端建立连接具体为:web服务器根据第二连接请求中携带的播放终端的id号、ip地址和/或mac地址对播放终 端进行鉴权,并在鉴权通过后与播放终端建立连接。
应理解,在本发明实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
本发明实施例采用websocket作为互动展示控制系统的基础通信协议,将b/s(browser/server,浏览器/服务器)架构与c/s架构合二为一,大大简化了系统架构,有效降低了开发与维护成本;控制终端、播放终端和web服务器均采用web方式,由此无需针对windows、ios或者android等操作系统开发不同的客户端软件,也无需进行客户端软件的维护工作,大大降低了开发与维护难度,节省了人力成本。
图3示出了本发明实施例提供的web服务器的结构框图,该web服务器可以为图1中的web服务器11。为了便于说明,仅示出了与本发明实施例相关的部分。
参照图3,该web服务器包括:
第一接收单元31,用于通过websocket接收控制终端发送的第一连接请求;
第一连接建立单元32,用于根据所述第一连接请求与所述控制终端建立连接,并将所述web服务器与所述控制终端的连接维护在连接池中;
第二接收单元33,用于通过websocket接收播放终端发送的第二连接请求;
第二连接建立单元34,用于根据所述第二连接请求与所述播放终端建立连接,并将所述web服务器与所述播放终端的连接维护在所述连接池中;
第三接收单元35,用于通过websocket接收所述控制终端发送的播放控制指令;
转发单元36,用于确定所述播放控制指令对应的所述播放终端,并通过 websocket将所述播放控制指令转发至所述播放终端,以使所述播放终端接收并执行所述播放控制指令。
优选地,所述web服务器还包括:
id号分配单元37,用于通过http服务为所述控制终端和所述播放终端分配id号。
本发明实施例采用websocket作为互动展示控制系统的基础通信协议,将b/s(browser/server,浏览器/服务器)架构与c/s架构合二为一,大大简化了系统架构,有效降低了开发与维护成本;控制终端和播放终端均采用web方式,由此无需针对windows、ios或者android等操作系统开发不同的客户端软件,也无需进行客户端软件的维护工作,大大降低了开发与维护难度,节省了人力成本。
图4示出了本发明实施例提供的控制终端的结构框图,该控制终端可以为图1中的控制终端12。为了便于说明,仅示出了与本发明实施例相关的部分。
参照图4,该控制终端包括:
第一发送单元41,用于通过websocket发送第一连接请求至web服务器,以使所述web服务器根据所述第一连接请求与所述控制终端建立连接并将所述web服务器与所述控制终端的连接维护在连接池中;
第二发送单元42,用于通过websocket发送播放控制指令至所述web服务器,以使所述web服务器通过websocket将所述播放控制指令转发至所述播放控制指令对应的所述播放终端。
本发明实施例采用websocket作为互动展示控制系统的基础通信协议,将b/s(browser/server,浏览器/服务器)架构与c/s架构合二为一,大大简化了系统架构,有效降低了开发与维护成本;控制终端和播放终端均采用web方 式,由此无需针对windows、ios或者android等操作系统开发不同的客户端软件,也无需进行客户端软件的维护工作,大大降低了开发与维护难度,节省了人力成本。
图5示出了本发明实施例提供的播放终端的结构框图,该播放终端可以为图1中的播放终端13。为了便于说明,仅示出了与本发明实施例相关的部分。
参照图5,该播放终端包括:
第三发送单元51,用于通过websocket发送第二连接请求至web服务器,以使所述web服务器根据所述第二连接请求与所述播放终端建立连接并将所述web服务器与所述播放终端的连接维护在所述连接池中;
第四接收单元52,用于通过websocket接收所述web服务器转发的播放控制指令,并执行所述播放控制指令。
本发明实施例采用websocket作为互动展示控制系统的基础通信协议,将b/s(browser/server,浏览器/服务器)架构与c/s架构合二为一,大大简化了系统架构,有效降低了开发与维护成本;控制终端和播放终端均采用web方式,由此无需针对windows、ios或者android等操作系统开发不同的客户端软件,也无需进行客户端软件的维护工作,大大降低了开发与维护难度,节省了人力成本。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述 的系统、服务器、终端和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、服务器、终端和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,服务器、终端或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存 取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。