多屏互动的方法、装置和服务器与流程

文档序号:11677225阅读:237来源:国知局
多屏互动的方法、装置和服务器与流程

本发明涉及互联网领域,具体而言,涉及一种多屏互动的方法、装置和服务器。



背景技术:

随着科技的不断发展,个人可能同时拥有手机、电脑、电视和pad等电子产品。基于分享的目的,现有技术可以将手机的显示屏所显示的内容投屏到电视或者电脑屏幕上。投屏,顾名思义,就是主动分享的终端的显示屏上显示什么,接受分享的终端的屏幕上就显示什么,其本质还是对主动分享的终端的操作,接受分享的终端的屏幕上所显示的内容仅仅是主动分享的终端的屏幕的一个映射。换句话说,接受分享的终端的屏幕仅作为主动分享的终端的一个显示装置,接受分享的终端并不能对显示的界面进行操作。例如,将手机上浏览器所播放的视频投屏到电视上,手机操作视频的播放或者暂停,而电视上只能显示视频的播放或者暂停状态,而无法控制视频的播放或者暂停。

针对上述的问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明实施例提供了一种多屏互动的方法、装置和服务器,以至少解决接受分享的终端无法对主动分享的终端所分享的内容进行操作的技术问题。

根据本发明实施例的一个方面,提供了一种多屏互动的方法,包括:第一客户端获取第二客户端的第一数据,其中,第一数据用于指示第二客户端执行第一操作;第一客户端执行第一数据所指示的第一操作。

根据本发明实施例的另一方面,还提供了一种多屏互动的方法,包括:获取第二客户端的第一数据;所述服务器将所述第一数据转发给第一客户端,以使所述第一客户端执行所述第一数据所指示的第一操作。

根据本发明实施例的另一方面,还提供了一种多屏互动的装置,包括:获取单元,用于获取第二客户端发送给所述第一客户端的第一数据,其中,所述第一数据用于指示所述第二客户端执行第一操作;执行单元,用于执行所述第一数据所指示的所述第 一操作。

根据本发明实施例的另一方面,还提供了一种服务器,包括:数据获取单元,用于获取第二客户端的第一数据;转发单元,用于将所述第一数据转发给第一客户端,以使所述第一客户端执行所述第一数据所指示的第一操作。

在本发明实施例中,第一客户端获取第二客户端的第一数据,其中,所述第一数据用于指示所述第二客户端执行第一操作;所述第一客户端执行所述第一数据所指示的所述第一操作,每个客户端都从属于其所在的终端,在接收另外一个客户端分享的内容的同时,还可以通过该客户端所在的终端进行控制,本质上是两个客户端的分别控制,解决了接受分享的终端无法对主动分享的终端所分享的内容进行操作的技术问题,达到了接受分享的终端可以对主动分享的终端所分享的内容进行操作的技术效果。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明实施例的硬件环境的结构图;

图2是根据本发明实施例1的多屏互动的方法的流程图;

图3是根据本发明实施例2的多屏互动的方法的流程图;

图4是根据本发明实施例的客户端与服务器的双向链接的示意图;

图5是根据本发明实施例的同一账户的链接存储在服务器的同一链接池示意图;

图6是根据本发明实施例的不同账户的链接存储在服务器的同一链接池示意图;

图7是根据本发明实施例的多屏互动的装置的示意图;

图8是根据本发明实施例服务器的示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于 本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

实施例1

根据本发明实施例,还提供了一种多屏互动的方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

可选地,在本实施例中,上述多屏互动的方法可以应用于如图1所示的终端(包括终端1022、终端1024和终端1026)和服务器104所构成的硬件环境中。如图1所示,终端通过网络与服务器104进行连接,终端上设置有客户端,上述网络包括但不限于:移动通信网络、广域网、城域网或局域网,终端可以是手机终端,也可以是pc终端、笔记本终端、平板电脑终端或电视终端。上述的服务器104包括存储多个终端上的客户端的通信链接的链接池。

图1中示出的硬件环境系统的主要工作原理是:终端1022(手机)、终端1024(电脑)和终端1026(电视)各自的通信链接存储在服务器104的同一个链接池中,当上述三个终端的任意一个终端向服务器104发送数据时,服务器都能将接收到的数据转发给其余两个终端。例如,终端1022执行了第一操作,并向服务器104发送了第一数据,服务器104将第一数据转发给终端1024和终端1026,终端1024和终端1026收到第一数据后也执行第一操作,同理,终端1024也可以将其执行的第二操作生成的第二数据发送给服务器104,服务器104将第二数据转发给终端1022和终端1026后,执行第二操作,从而使得三个终端在实现自身的动作的情况下还可以控制其他的终端执行相同的动作。

需要说明的是,此处说的终端执行的动作可以理解为终端上设置的客户端所执行的动作,多个终端上设置的客户端为相同的客户端。上述的服务器104也可以是设置在终端上的装置,能够实现服务器的功能。

在上述硬件环境下,本申请提供了如图2所示的多屏互动的方法,该方法可以在某个终端上的客户端中执行。图2是根据本发明实施例1的多屏互动的方法的流程图。如图所示,该多屏互动的方法包括如下步骤:

步骤s202,第一客户端获取第二客户端的第一数据,其中,第一数据用于指示第二客户端执行第一操作。

步骤s204,第一客户端执行第一数据所指示的第一操作。

第一客户端可以是图1所示的硬件环境中的任意一个终端上设置的客户端,第一客户端和第二客户端处于不同的终端上,属于相同的客户端。第一客户端和第二客户端可以执行相同的功能,例如,安装在手机、电脑和电视上的浏览器。

第一数据可以是第二客户端执行的动作所对应的数据,例如,打开网页的动作所对应的数据,在搜索栏输入搜索内容的动作所对应的数据等。第一数据被第一客户端接收,第一客户端执行第一数据所指示的第一操作,从而使得第一客户端和第二客户端执行相同的动作,实现了在不同的客户端上显示相同的内容,执行相同的动作。

可选地,第一数据可以被服务器的转发给第一客户端。该服务器可以是设置在某个终端上的装置,能够存储和转发数据。

通过上述实施例可知,与现有技术的投屏(一个终端上显示另外一个终端的投影,无法对投影的内容进行控制)相比,两个终端上的客户端分别执行相同的动作来实现两个终端上显示的内容相同,每个客户端都从属于其所在的终端,在接收另外一个客户端分享的内容的同时,还可以通过该客户端所在的终端进行控制,本质上是两个客户端的分别控制,解决了接受分享的终端无法对主动分享的终端所分享的内容进行操作的技术问题,达到了接受分享的终端可以对主动分享的终端所分享的内容进行操作的技术效果。

同时,由于客户端可以不依赖其他客户端进行单独控制,那么,每个客户端可以根据其所处的终端的特性进行控制,提高了对客户端控制的便捷性。

例如,用电视版的视频播放器播放视频时,身边有手机或pad,在手机/pad上播放视频、输入视频名字和选择一个视频播放是很容易操作的事情。通过电视遥控器来操作电视版的视频播放器却相当困难。然而,采用本实施例提供的方法,可以在手机或pad上搜索视频、控制视频的播放,在电视上播放视频,或者利用电视遥控器控制电视上播放视频的暂停或者继续播放。

例如,用电脑浏览页面,但是手机滑动的操作更加方便,这时候,手机就相当于 电脑的一个触摸屏。需要搜索时,利用电脑输入关键词。搜索的结果,可以通过滑动手机来进行浏览。由于手机上的滑动也作用在电脑上,电脑上搜索的结果也随着手机上的滑动而动,因而从电脑上也可以浏览搜索结果。采用多屏互动可以把电脑的大屏幕和输入的方便性同手机/pad操作的易用性集合起来,提高了操作的便捷性。

例如,第一客户端是电视上的视频播放器,第二客户端是手机上的视频播放器,电视上的视频播放器和手机上的视频播放器的通信链接存储在服务器的同一个链接池中。手机上的视频播放器执行“播放a视频”的动作(即第一操作)后,播放视频。手机上的视频播放器将“播放a视频”的动作生成为第一数据,并将第一指令被发送至服务器。服务器将手机上的视频播放器的通信链路接收到的第一数据转发给同一个链接池中其他的通信链路,其中一个通信链路是电视上的视频播放器的通信链路,从而电视上的视频播放器能够接收到第一数据。电视上的视频播放器获取第一数据对应的“播放a视频”动作,然后对电视上的视频播放器的视频进行播放。

可选地,第一客户端执行所第一数据所指示的第一操作包括:第一客户端从第一数据中解析出执行代码和执行对象,其中,利用执行代码对执行对象进行的操作为第一操作;第一客户端利用执行代码对执行对象进行操作。

执行代码是每个客户端都可以识别的、统一的执行代码,每个执行代码对应一个动作,执行对象可以是执行代码所对应的动作所作用的对象,当执行代码对执行对象进行操作时就得到了第一操作,也就是说,第一操作包括执行代码对应的动作和执行对象所对应的对象。那么,客户端调用执行代码对执行对象执行操作,就实现了第一操作。

例如,在上述例子中,第一客户端是电视上的视频播放器,第二客户端是手机上的视频播放器。手机上的视频播放器根据“播放a视频”生成第一数据。电视上的视频播放器获取第一数据后,从中解析出执行代码为“播放”,执行对象为“a视频”,则电视上的视频播放器对a视频执行播放的操作。

其中,第一客户端可以根据第二客户端发出的第一数据执行相应的第一操作,第一客户端也可以根据其从终端上接收到的指令执行相应的动作。例如,电视上的视频播放器接收遥控器的“暂停”信号而暂停播放a视频。

也就是说,第一客户端可以根据第二客户端发送的第一数据进行相同的操作,还可以单独执行其自身的控制,而不受第二客户端的控制,在第一客户端与第二客户端显示相同内容的同时,还能进行单独控制,从而提高了第一客户端和第二客户端的控制的灵活性。

可选地,在第一客户端获取第二客户端的第一数据之前,方法还包括:第一客户端判断是否接收到第一指令和第二指令,其中,第一指令用于指示允许第一客户端向第二客户端发送第二数据,第二指令用于指示不允许第一客户端向第二客户端发送第二数据,第二数据用于指示第一客户端执行了第二操作;若第一客户端判断出接收到第一指令,则监测第一数据和第一客户端执行的第二操作,其中,在监测到第二操作的情况下,生成第二数据并向第二客户端发送第二数据,以使第二客户端执行第二操作;若第一客户端判断出接收到第二指令,则监测第二客户端发送的第一数据。

第一指令和第二指令可以是第一客户端上的一个功能,例如,第一指令为屏幕共享,第二指令为跟随浏览。当第一客户端的第一指令被触发时,第一客户端不仅可以接收第二客户端的第一数据执行第一操作,还可以将其执行的第二操作发送给第二客户端,从而控制第二客户端执行第二操作;当第一客户端的第二指令被触发时,第一客户端仅能够对第二客户端发来的第一数据进行响应来执行第一操作,即使第一客户端执行了第二操作也不会向第二客户端发送第二数据,不会控制第二客户端执行第二操作。

例如,在冬天等车的过程中,需要利用浏览器或者新闻应用(第一客户端)浏览新闻,但是,由于天气太冷不想用手控制第一客户端。此时,用户可以开启第一客户端的跟随浏览功能,跟随好友浏览。即,好友的第二客户端展示什么内容,执行什么动作,在第一客户端上就展示相应的内容,执行相应的动作。该好友是第一客户端中的好友,向第二客户端请求跟随浏览,在第二客户端同意的情况下,接收第二客户端的第一数据。

在跟随浏览的过程中,第一客户端仅仅是接收第二客户端的第一数据,执行第一数据对应的第一操作。需要说明的是,无论是跟随浏览还是屏幕共享,第一客户端仅仅从接收第一操作,并不会从第二客户端中获取执行第一操作后的执行结果,相当于,每个客户端都是独立执行自己的逻辑,指示接收的指令是从另外一个客户端获取的,而不是从其所在的终端获取的。例如,在第一操作为打开www.aaaa.com时,第一客户端向www.aaaa.com的服务器请求www.aaaa.com的内容,而不是从第二客户端中获取www.aaaa.com的内容。

由于第一客户端可以执行第二客户端发送的第一数据所对应的第一操作,还可以执行第一客户端所在的终端控制该第一客户端执行的第二操作,那么,当监测到第二操作时,生成第二数据,并向第二客户端发送第二数据,使第二客户端也执行第二操作。由于第一客户端执行的动作会在第二客户端执行,第二客户端执行的动作也会在第一客户端执行,实现了第一客户端和第二客户端的同步,在此基础上,第一客户端 执行第二客户端执行过的动作、第二客户端执行第一客户端执行过的动作以及第一客户端和第二客户端各自执行的动作都不会造成两个客户端上的显示内容的混乱,解决了接受分享的终端无法对主动分享的终端所分享的内容进行操作的技术问题,同时还能保证两个客户端正常显示和运行。

可选地,在监测到第二操作的情况下,生成第二数据并向第二客户端发送第二数据包括:第一客户端获取第二操作的执行代码和执行对象;第一客户端将执行代码和执行对象封装为第二数据,其中,执行代码可被第二客户端执行,执行对象可被第二客户端通过执行代码进行操作。

例如,手机上的视频播放器(即第一客户端)执行“播放a视频”动作(即第二操作)后,手机上的视频播放器将“播放”的动作转换为执行代码(如0001),将“a视频”转换为执行对象(如a视频的名称),并将“播放”的动作和“a视频”一起封装为第二数据,并发送给第二客户端。

第二客户端生成第二数据的过程与上述第一客户端生成第一数据的过程类似,并且第一客户端和第二客户端采用相同的执行代码与相应的动作。第二客户端接收到第二数据后,从第二数据中获取第二操作的过程也与上述第一客户端从第一数据中获取第一操作的过程类似。

可选地,第一客户端执行第一数据所指示的第一操作包括:第一客户端执行第一数据所指示的包括下述至少一种操作:打开窗口、打开页面、滚动页面、输入文字、改变焦点、播放和暂停。

第一客户端执行的第二操作也可以是上述第一操作中的任意一种或多种。打开窗口、打开网页、滚动页面等可以用在浏览器(第一客户端或第二客户端)中,播放和暂停可以应用在视频播放器中,对应其他应用程序的动作也可以作为第一操作在相应的应用程序中执行,此处不再一一列举。

如果第一操作比较复杂,不仅需要改变焦点,还要输入文字,还要执行选择,那么,第一客户端将第一操作拆分成多个动作的组合,依次执行多个动作,从而完成完整的第一操作。

在一个具体的例子中,上述的多屏互动的方法还可以用于推送广告。例如,第二客户端执行打开广告a的动作(即第一操作),那么,服务器将执行打开广告a的动作发送给第一客户端,第一客户端也执行了打开广告a的动作,从而实现了广告的推送。

通过上述实施例,由于处于两个终端上的两个客户端可以执行对方执行过的动作,还可以接收客户端所在的终端的控制,因此,解决了接受分享的终端无法对主动分享 的终端所分享的内容进行操作的技术问题,得到了接受分享的终端可以对主动分享的终端所分享的内容进行操作的技术效果。

需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

实施例2

根据本发明实施例,还提供了一种多屏互动的方法。该多屏互动的方法在服务器上执行,如图3所示,该方法包括:

步骤s302,获取第二客户端的第一数据。

步骤s304,将第一数据转发给第一客户端,以使第一客户端执行第一数据所指示的第一操作,其中,第一数据用于指示第二客户端执行第一操作。第一客户端可以是图1所示的硬件环境中的任意一个终端上设置的客户端,第一客户端和第二客户端处于不同的终端上,属于相同的客户端。第一客户端和第二客户端可以执行相同的功能,例如,安装在手机、电脑和电视上的浏览器。可选地,第一数据由服务器从第二客户端转发给第一客户端。

如图4所示,每个客户端(电脑、手机、平板和电视)都与服务器建立双向链接(即链接a、链接b、链接c和链接d),即每个客户端都可以向服务器发送数据,也可以接收服务器发来的数据,图4中的每个客户端都可以作为第一客户端或者第二客户端。服务器接收任意一个客户端的链接中的第一数据,转发给其他链接所对应的客户端。

第一数据可以是第二客户端执行的动作所对应的数据,例如,打开网页的动作所对应的数据,在搜索栏输入搜索内容的动作所对应的数据等。通过服务器的转发,第 一数据被第一客户端接收,第一客户端执行第一数据所指示的第一操作,从而使得第一客户端和第二客户端执行相同的动作,实现了在不同的客户端上显示相同的内容,执行相同的动作。

通过上述实施例可知,与现有技术的投屏(一个终端上显示另外一个终端的投影,无法对投影的内容进行控制)相比,两个终端上的客户端分别执行相同的动作来实现两个终端上显示的内容相同,每个客户端都从属于其所在的终端,在接收另外一个客户端分享的内容的同时,还可以通过该客户端所在的终端进行控制,本质上是两个客户端的分别控制,解决了接受分享的终端无法对主动分享的终端所分享的内容进行操作的技术问题,达到了接受分享的终端可以对主动分享的终端所分享的内容进行操作的技术效果。

可选地,服务器将第一数据转发给第一客户端包括:服务器将第一客户端的第一通信链接和至少一个第二客户端的第二通信链接存放在同一个链接池中;服务器将通过一个第二通信链接接收到的数据转发到第一通信链接和至少一个第二客户端中其他的第二客户端的第二通信链接中,其中,数据包括第一数据。

如图5所示,服务器将图4所示的四个链接(即链接a、链接b、链接c和链接d)存放在同一个链接池中,电脑对浏览器(即第一客户端)执行操作(即第一操作)后,将执行的第一操作翻译为执行代码和执行对象(即生成第一数据)通过第一通信链接(即链接a)发送给服务器,服务器将接收到的第一数据通过三个第二通信链接(即链接b、链接c和链接d)分别发送给手机上的浏览器、平板上的浏览器和电视上的浏览器(即第二客户端和其他第二客户端),获得第一数据的浏览器将第一数据翻译为执行代码和参数,以执行第一操作。放在同一个链接池中的链接可以是都从属于同一个登录账户user1。

服务器在转发第一数据时,还可以携带其他数据,例如,推送给手机上的浏览器、平板上的浏览器和电视上的浏览器的广告,在手机上的浏览器、平板上的浏览器和电视上的浏览器执行第一操作的同时,加载服务器推送的广告。

可选地,服务器将第一客户端的第一通信链接和至少一个第二客户端的第二通信链接存放在同一个链接池中包括:服务器判断是否接收到第一客户端发送的提示信息,提示信息用于提示第一客户端接收到第一指令或者第二指令,第一指令用于指示允许第一客户端向至少一个第二客户端发送第二数据,第二指令用于指示不允许第一客户端向至少一个第二客户端发送第二数据,第二数据用于指示第一客户端执行了第二操作;服务器判断出接收到提示信息后,将第一客户端的第一通信链接和至少一个第二客户端的第二通信链接存放在同一个链接池中。

第一指令和第二指令可以是第一客户端上的一个功能,例如,第一指令为屏幕共享,第二指令为跟随浏览。当第一客户端的第一指令被触发时,第一客户端不仅可以接收第二客户端的第一数据执行第一操作,还可以将其执行的第二操作发送给第二客户端,从而控制第二客户端执行第二操作;当第一客户端的第二指令被触发时,第一客户端仅能够对第二客户端发来的第一数据进行响应来执行第一操作,即使第一客户端执行了第二操作也不会向第二客户端发送第二数据,不会控制第二客户端执行第二操作。

例如,在冬天等车的过程中,需要利用浏览器或者新闻应用(第一客户端)浏览新闻,但是,由于天气太冷不想用手控制第一客户端。此时,用户可以开启第一客户端的跟随浏览功能,跟随好友浏览。即,好友的第二客户端展示什么内容,执行什么动作,在第一客户端上就展示相应的内容,执行相应的动作。该好友是第一客户端中的好友,向第二客户端请求跟随浏览,在第二客户端同意的情况下,接收第二客户端的第一数据。

在跟随浏览的过程中,第一客户端仅仅是接收第二客户端的第一数据,执行第一数据对应的第一操作。需要说明的是,无论是跟随浏览还是屏幕共享,第一客户端仅仅从接收第一操作,并不会从第二客户端中获取执行第一操作后的执行结果,相当于,每个客户端都是独立执行自己的逻辑,指示接收的指令是从另外一个客户端获取的,而不是从其所在的终端获取的。例如,在第一操作为打开www.aaaa.com时,第一客户端向www.aaaa.com的服务器请求www.aaaa.com的内容,而不是从第二客户端中获取www.aaaa.com的内容。

由于第一客户端可以执行第二客户端发送的第一数据所对应的第一操作,还可以执行第一客户端所在的终端控制该第一客户端执行的第二操作,那么,当监测到第二操作时,生成第二数据,并向第二客户端发送第二数据,使第二客户端也执行第二操作。由于第一客户端执行的动作会在第二客户端执行,第二客户端执行的动作也会在第一客户端执行,实现了第一客户端和第二客户端的同步,在此基础上,第一客户端执行第二客户端执行过的动作、第二客户端执行第一客户端执行过的动作以及第一客户端和第二客户端各自执行的动作都不会造成两个客户端上的显示内容的混乱,解决了接受分享的终端无法对主动分享的终端所分享的内容进行操作的技术问题,同时还能保证两个客户端正常显示和运行。

可选地,存放在同一个链接池中的通信链接所对应的第一客户端和第二客户端从属于相同或者不同的账户。

在图5所示的例子中,处于同一个链接池中的链接所对应的客户端属于相同的账 户,也就是说,一个用户在多个终端上的客户端采用相同的账户登录,那么多个客户端与服务器建立的链接就会被存放在同一个链接池中。

在图6所示的例子中,登录账户1(即user1)的客户端请求跟随浏览另外一个登录账户2(即user2)的客户端上显示的内容,在电脑上登录浏览器的user1对浏览器执行了操作(即第一操作),电脑上的浏览器将第一操作翻译为执行代码和执行对象(即第一数据),然后通过链接a发送到服务器。

服务器的链接池不仅存储链接a,还存储属于登录账户2(user2)的客户端的链接e、链接f和链接g,其中,链接e对应user2的电脑浏览器,链接f对应user2的手机浏览器,链接g对应user2的电视浏览器。即处于同一个链接池中的链接所对应的客户端属于不同的账户,也就是说,采用不同账户登录的客户端与服务器建立的链接,被服务器存储在同一个链接池中。不同的账户之间可以是好友关系,具体来说,当登录账户1的客户端请求跟随浏览另外一个登录账户2的客户端上显示的内容时,账户2可以是账户1在客户端上的一个好友,在登录账户1的客户端发出跟随请求后,服务器将录账户1的客户端与服务器建立的链接和登录账户2的客户端与服务器建立的链接存放在同一个链接池中。基于此,登录账户2的客户端也可以实现让登录账户1的客户端执行登录账户2的客户端执行过的动作。

通过上述实施例,由于处于两个终端上的两个客户端可以执行对方执行过的动作,还可以接收客户端所在的终端的控制,因此,解决了接受分享的终端无法对主动分享的终端所分享的内容进行操作的技术问题,得到了接受分享的终端可以对主动分享的终端所分享的内容进行操作的技术效果。

需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

实施例3

根据本发明实施例,还提供了一种多屏互动的装置的实施例,该装置可以执行实施例1的多屏互动的方法。如图7所示,多屏互动的装置设置有第一客户端,该装置包括:获取单元70和执行单元72。

获取单元,用于获取第二客户端发送给第一客户端的第一数据,其中,第一数据用于指示第二客户端执行了第一操作。

执行单元,用于获取第一数据所指示的第一操作,并执行获取的第一操作,其中,第一数据由服务器从第二客户端转发给第一客户端,第一客户端和第二客户端为设置在不同的设备终端上的相同客户端。

第一客户端可以是图1所示的硬件环境中的任意一个终端上设置的客户端,第一客户端和第二客户端处于不同的终端上,属于相同的客户端。第一客户端和第二客户端可以执行相同的功能,例如,安装在手机、电脑和电视上的浏览器。

第一数据可以是第二客户端执行的动作所对应的数据,例如,打开网页的动作所对应的数据,在搜索栏输入搜索内容的动作所对应的数据等。通过服务器的转发,第一数据被第一客户端接收,第一客户端获取第一数据所指示的第一操作,并执行该第一操作,从而使得第一客户端和第二客户端执行相同的动作,实现了在不同的客户端上显示相同的内容,执行相同的动作。

通过上述实施例可知,与现有技术的投屏(一个终端上显示另外一个终端的投影,无法对投影的内容进行控制)相比,两个终端上的客户端分别执行相同的动作来实现两个终端上显示的内容相同,每个客户端都从属于其所在的终端,在接收另外一个客户端分享的内容的同时,还可以通过该客户端所在的终端进行控制,本质上是两个客户端的分别控制,解决了接受分享的终端无法对主动分享的终端所分享的内容进行操作的技术问题,达到了接受分享的终端可以对主动分享的终端所分享的内容进行操作的技术效果。

同时,由于客户端可以不依赖其他客户端进行单独控制,那么,每个客户端可以根据其所处的终端的特性进行控制,提高了对客户端控制的便捷性。

例如,用电视版的视频播放器播放视频时,身边有手机或pad,在手机/pad上播放视频、输入视频名字和选择一个视频播放是很容易操作的事情。通过电视遥控器来操作电视版的视频播放器却相当困难。然而,采用本实施例提供的装置,可以在手机或pad上搜索视频、控制视频的播放,在电视上播放视频,或者利用电视遥控器控制电视上播放视频的暂停或者继续播放。

例如,用电脑浏览页面,但是手机滑动的操作更加方便,这时候,手机就相当于电脑的一个触摸屏。需要搜索时,利用电脑输入关键词。搜索的结果,可以通过滑动手机来进行浏览。由于手机上的滑动也作用在电脑上,电脑上搜索的结果也随着手机上的滑动而动,因而从电脑上也可以浏览搜索结果。采用多屏互动可以把电脑的大屏幕和输入的方便性同手机/pad操作的易用性集合起来,提高了操作的便捷性。

例如,第一客户端是电视上的视频播放器,第二客户端是手机上的视频播放器,电视上的视频播放器和手机上的视频播放器的通信链接存储在服务器的同一个链接池中。手机上的视频播放器执行“播放a视频”的动作(即第一操作)后,播放视频。手机上的视频播放器将“播放a视频”的动作生成为第一数据,并将第一指令被发送至服务器。服务器将手机上的视频播放器的通信链路接收到的第一数据转发给同一个链接池中其他的通信链路,其中一个通信链路是电视上的视频播放器的通信链路,从而电视上的视频播放器能够接收到第一数据。电视上的视频播放器获取第一数据对应的“播放a视频”动作,然后对电视上的视频播放器的视频进行播放。

可选地,执行单元包括:解析模块,用于从第一数据中解析出执行代码和执行对象,其中,利用执行代码对执行对象进行的操作为第一操作;操作模块,用于利用执行代码对执行对象进行操作。

执行代码是每个客户端都可以识别的、统一的执行代码,每个执行代码对应一个动作,执行对象可以是执行代码所对应的动作所作用的对象,当执行代码对执行对象进行操作时就得到了第一操作,也就是说,第一操作包括执行代码对应的动作和执行对象所对应的对象。那么,客户端调用执行代码对执行对象执行操作,就实现了第一操作。

例如,在上述例子中,第一客户端是电视上的视频播放器,第二客户端是手机上的视频播放器。手机上的视频播放器根据“播放a视频”生成第一数据。电视上的视频播放器获取第一数据后,从中解析出执行代码为“播放”,执行对象为“a视频”,则电视上的视频播放器对a视频执行播放的操作。

其中,第一客户端可以根据第二客户端发出的第一数据执行相应的第一操作,第一客户端也可以根据其从终端上接收到的指令执行相应的动作。例如,电视上的视频播放器接收遥控器的“暂停”信号而暂停播放a视频。

也就是说,第一客户端可以根据第二客户端发送的第一数据进行相同的操作,还可以单独执行其自身的控制,而不受第二客户端的控制,在第一客户端与第二客户端显示相同内容的同时,还能进行单独控制,从而提高了第一客户端和第二客户端的控 制的灵活性。

实施例4

根据本发明实施例,还提供了一种服务器的实施例,该服务器可以执行实施例2的多屏互动的方法。如图8所示,多屏互动的装置设置有第一客户端,该装置包括:数据获取单元80和转发单元82。

数据获取单元80用于获取第二客户端的第一数据。

转发单元82用于将第一数据转发给第一客户端,以使第一客户端获取第一数据所指示的第一操作,并执行获取的第一操作,其中,第一数据用于指示第二客户端执行了第一操作第一数据由服务器从第二客户端转发给第一客户端,第一客户端和第二客户端为设置在不同的设备终端上的相同客户端。

第一客户端可以是图1所示的硬件环境中的任意一个终端上设置的客户端,第一客户端和第二客户端处于不同的终端上,属于相同的客户端。第一客户端和第二客户端可以执行相同的功能,例如,安装在手机、电脑和电视上的浏览器。

如图4所示,每个客户端(电脑、手机、平板和电视)都与服务器建立双向链接(即链接a、链接b、链接c和链接d),即每个客户端都可以向服务器发送数据,也可以接收服务器发来的数据,图4中的每个客户端都可以作为第一客户端或者第二客户端。服务器接收任意一个客户端的链接中的第一数据,转发给其他链接所对应的客户端。

第一数据可以是第二客户端执行的动作所对应的数据,例如,打开网页的动作所对应的数据,在搜索栏输入搜索内容的动作所对应的数据等。通过服务器的转发,第一数据被第一客户端接收,第一客户端获取第一数据所指示的第一操作,并执行该第一操作,从而使得第一客户端和第二客户端执行相同的动作,实现了在不同的客户端上显示相同的内容,执行相同的动作。

通过上述实施例可知,与现有技术的投屏(一个终端上显示另外一个终端的投影,无法对投影的内容进行控制)相比,两个终端上的客户端分别执行相同的动作来实现两个终端上显示的内容相同,每个客户端都从属于其所在的终端,在接收另外一个客户端分享的内容的同时,还可以通过该客户端所在的终端进行控制,本质上是两个客户端的分别控制,解决了接受分享的终端无法对主动分享的终端所分享的内容进行操作的技术问题,达到了接受分享的终端可以对主动分享的终端所分享的内容进行操作的技术效果。

可选地,转发单元包括:存放模块,用于将第一客户端的第一通信链接和至少一个第二客户端的第二通信链接存放在同一个链接池中;转发模块,用于将通过一个第二通信链接接收到的数据转发到第一通信链接和至少一个第二客户端中其他的第二客户端的第二通信链接中,其中,接收到的数据包括第一数据。

如图5所示,服务器将图4所示的四个链接(即链接a、链接b、链接c和链接d)存放在同一个链接池中,电脑对浏览器(即第一客户端)执行操作(即第一操作)后,将执行的第一操作翻译为执行代码和执行对象(即生成第一数据)通过第一通信链接(即链接a)发送给服务器,服务器将接收到的第一数据通过三个第二通信链接(即链接b、链接c和链接d)分别发送给手机上的浏览器、平板上的浏览器和电视上的浏览器(即第二客户端和其他第二客户端),获得第一数据的浏览器将第一数据翻译为执行代码和参数,以执行第一操作。

服务器在转发第一数据时,还可以携带其他数据,例如,推送给手机上的浏览器、平板上的浏览器和电视上的浏览器的广告,在手机上的浏览器、平板上的浏览器和电视上的浏览器执行第一操作的同时,加载服务器推送的广告。

可选地,存放模块包括:判断子模块,用于判断是否接收到第一客户端发送的提示信息,提示信息用于提示第一客户端接收到第一指令或者第二指令,第一指令用于指示允许第一客户端向至少一个第二客户端发送第二数据,第二指令用于指示不允许第一客户端向至少一个第二客户端发送第二数据,第二数据用于指示第一客户端执行了第二操作;存放子模块,用于在判断出接收到提示信息后,将第一客户端的第一通信链接和至少一个第二客户端的第二通信链接存放在同一个链接池中。

第一指令和第二指令可以是第一客户端上的一个功能,例如,第一指令为屏幕共享,第二指令为跟随浏览。当第一客户端的第一指令被触发时,第一客户端不仅可以接收第二客户端的第一数据执行第一操作,还可以将其执行的第二操作发送给第二客户端,从而控制第二客户端执行第二操作;当第一客户端的第二指令被触发时,第一客户端仅能够对第二客户端发来的第一数据进行响应来执行第一操作,即使第一客户端执行了第二操作也不会向第二客户端发送第二数据,不会控制第二客户端执行第二操作。

例如,在冬天等车的过程中,需要利用浏览器或者新闻应用(第一客户端)浏览新闻,但是,由于天气太冷不想用手控制第一客户端。此时,用户可以开启第一客户端的跟随浏览功能,跟随好友浏览。即,好友的第二客户端展示什么内容,执行什么动作,在第一客户端上就展示相应的内容,执行相应的动作。该好友是第一客户端中的好友,向第二客户端请求跟随浏览,在第二客户端同意的情况下,接收第二客户端 的第一数据。

在跟随浏览的过程中,第一客户端仅仅是接收第二客户端的第一数据,执行第一数据对应的第一操作。需要说明的是,无论是跟随浏览还是屏幕共享,第一客户端仅仅从接收第一操作,并不会从第二客户端中获取执行第一操作后的执行结果,相当于,每个客户端都是独立执行自己的逻辑,指示接收的指令是从另外一个客户端获取的,而不是从其所在的终端获取的。例如,在第一操作为打开www.aaaa.com时,第一客户端向www.aaaa.com的服务器请求www.aaaa.com的内容,而不是从第二客户端中获取www.aaaa.com的内容。

由于第一客户端可以执行第二客户端发送的第一数据所对应的第一操作,还可以执行第一客户端所在的终端控制该第一客户端执行的第二操作,那么,当监测到第二操作时,生成第二数据,并向第二客户端发送第二数据,使第二客户端也执行第二操作。由于第一客户端执行的动作会在第二客户端执行,第二客户端执行的动作也会在第一客户端执行,实现了第一客户端和第二客户端的同步,在此基础上,第一客户端执行第二客户端执行过的动作、第二客户端执行第一客户端执行过的动作以及第一客户端和第二客户端各自执行的动作都不会造成两个客户端上的显示内容的混乱,解决了接受分享的终端无法对主动分享的终端所分享的内容进行操作的技术问题,同时还能保证两个客户端正常显示和运行。

可选地,存放在同一个链接池中的通信链接所对应的第一客户端和第二客户端从属于相同或者不同的账户。

在图5所示的例子中,处于同一个链接池中的链接所对应的客户端属于相同的账户,也就是说,一个用户在多个终端上的客户端采用相同的账户登录,那么多个客户端与服务器建立的链接就会被存放在同一个链接池中。

在图6所示的例子中,登录账户1(即user1)的客户端请求跟随浏览另外一个登录账户2(即user2)的客户端上显示的内容,在电脑上登录浏览器的user1对浏览器执行了操作(即第一操作),电脑上的浏览器将第一操作翻译为执行代码和执行对象(即第一数据),然后通过链接a发送到服务器。

服务器的链接池不仅存储链接a,还存储属于登录账户2(user2)的客户端的链接e、链接f和链接g,其中,链接e对应user2的电脑浏览器,链接f对应user2的手机浏览器,链接g对应user2的电视浏览器。即处于同一个链接池中的链接所对应的客户端属于不同的账户,也就是说,采用不同账户登录的客户端与服务器建立的链接,被服务器存储在同一个链接池中。不同的账户之间可以是好友关系,具体来说, 当登录账户1的客户端请求跟随浏览另外一个登录账户2的客户端上显示的内容时,账户2可以是账户1在客户端上的一个好友,在登录账户1的客户端发出跟随请求后,服务器将录账户1的客户端与服务器建立的链接和登录账户2的客户端与服务器建立的链接存放在同一个链接池中。基于此,登录账户2的客户端也可以实现让登录账户1的客户端执行登录账户2的客户端执行过的动作。

通过上述实施例,由于处于两个终端上的两个客户端可以执行对方执行过的动作,还可以接收客户端所在的终端的控制,因此,解决了接受分享的终端无法对主动分享的终端所分享的内容进行操作的技术问题,得到了接受分享的终端可以对主动分享的终端所分享的内容进行操作的技术效果。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1