一种多端联动方法及相关设备与系统转让专利

申请号 : CN201410273165.6

文献号 : CN105337926B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李清华俞小浩董芳霞王释涵

申请人 : 阿里巴巴集团控股有限公司

摘要 :

本申请公开了一种多端联动方法及相关设备与系统,在本方案中,由于第一客户端在接收到联动操作指令时,可将获取到的第一客户端的操作用户的、包括当前操作界面信息及当前上下文描述信息在内的当前操作行为信息封装为联动协议包后,通过服务器转发给至少一个与该第一客户端相关联的第二客户端,以使该至少一个第二客户端根据接收到的该联动协议包,重构并显示该操作用户的当前操作行为信息,从而解决了目前存在的用户在不同终端之间进行切换时,切换前后的操作界面以及上下文描述等并不能够同步的问题,在提高不同终端之间进行切换时的切换平滑性以及连续性的基础上,达到了提高多端联动的联动效果的目的。

权利要求 :

1.一种多端联动方法,其特征在于,包括:

第一客户端在接收到联动操作指令时,获取所述第一客户端的操作用户的当前操作行为信息,所述当前操作行为信息包括当前操作界面信息以及当前上下文描述信息;并将获取到的所述当前操作行为信息封装为联动协议包后,发送给服务器,由所述服务器将接收到的所述联动协议包转发给至少一个与所述第一客户端关联的第二客户端,以使所述至少一个第二客户端根据接收到的所述联动协议包,获取所述当前操作行为信息并在所述至少一个第二客户端上重构并显示所述当前操作行为信息;

所述由所述服务器将接收到的所述联动协议包转发给至少一个第二客户端,具体包括:

若所述服务器确定当前存在至少一个已登录的第二客户端,则通过即时通信通道或采用推送Push方式将所述联动协议包转发给所述至少一个已登录的第二客户端中的一个或多个第二客户端;或者,若所述服务器确定当前不存在已登录的第二客户端,则将所述联动协议包保存在离线服务器中,由所述离线服务器在确定存在至少一个第二客户端由离线状态变为登录状态后,通过即时通信通道或采用Push方式将所述联动协议包转发给由离线状态变为登录状态的至少一个第二客户端中的一个或多个第二客户端。

2.如权利要求1所述的多端联动方法,其特征在于,所述当前操作界面信息至少包括以下信息中的一种或多种:用户界面数据信息、操作焦点信息以及窗口位置信息;

所述当前上下文描述信息至少包括以下信息中的一种或多种:程序配置信息以及环境配置信息。

3.如权利要求1或2所述的多端联动方法,其特征在于,所述联动操作指令是所述操作用户向所述第一客户端发起的;或者,是所述服务器向所述第一客户端发起的。

4.如权利要求1或2所述的多端联动方法,其特征在于,所述第一客户端、所述第二客户端分别为即时通信客户端;所述服务器为即时通信服务器。

5.如权利要求4所述的多端联动方法,其特征在于,将获取到的所述当前操作行为信息封装为联动协议包后,发送给服务器,包括:将获取到的所述当前操作行为信息打包为应用层二级协议包,并将所述应用层二级协议包封装到即时通信一级协议包中形成联动协议包后,通过即时通信通道发送给所述服务器。

6.如权利要求1或2所述的多端联动方法,其特征在于,与所述第一客户端关联的第二客户端为与所述第一客户端使用相同账号登陆的客户端。

7.一种多端联动方法,其特征在于,包括:

接收第一客户端发送的联动协议包,所述联动协议包是所述第一客户端在接收到联动操作指令时,将获取到的所述第一客户端的操作用户的当前操作行为信息进行封装后所得到的,所述当前操作行为信息包括当前操作界面信息以及当前上下文描述信息;并将接收到的所述联动协议包转发给至少一个与所述第一客户端关联的第二客户端,以使所述至少一个第二客户端根据接收到的所述联动协议包,获取所述当前操作行为信息并在所述至少一个第二客户端上重构并显示所述当前操作行为信息;

所述将接收到的所述联动协议包转发给至少一个第二客户端,具体包括:

若确定当前存在至少一个已登录的第二客户端,则通过即时通信通道或采用推送Push方式将所述联动协议包转发给所述至少一个已登录的第二客户端中的一个或多个第二客户端;或者,若确定当前不存在已登录的第二客户端,则将所述联动协议包保存在离线服务器中,由所述离线服务器在确定存在至少一个第二客户端由离线状态变为登录状态后,通过即时通信通道或采用Push方式将所述联动协议包转发给由离线状态变为登录状态的至少一个第二客户端中的一个或多个第二客户端。

8.如权利要求7所述的多端联动方法,其特征在于,所述服务器接收第一客户端发送的联动协议包,包括:所述服务器通过即时通信通道接收所述第一客户端发送的联动协议包,其中,所述联动协议包是所述第一客户端将获取到的所述当前操作行为信息打包为应用层二级协议包,并将所述应用层二级协议包封装到即时通信一级协议包中后所得到的。

9.如权利要求7或8所述的多端联动方法,其特征在于,与所述第一客户端关联的第二客户端为与所述第一客户端使用相同账号登陆的客户端。

10.一种多端联动方法,其特征在于,包括:

第二客户端接收服务器转发的来自第一客户端的联动协议包,所述联动协议包是所述第一客户端在接收到联动操作指令时,将获取到的所述第一客户端的操作用户的当前操作行为信息进行封装后所得到的,所述当前操作行为信息包括当前操作界面信息以及当前上下文描述信息;并根据接收到的所述联动协议包,获取所述联动协议包中包含的所述当前操作行为信息,并在所述第二客户端上重构并显示所述当前操作行为信息;其中,所述第一客户端为与所述第二客户端关联的客户端;

所述接收服务器转发的来自第一客户端的联动协议包,具体包括:

接收所述服务器通过即时通信通道或采用推送Push方式转发的所述联动协议包;或者,接收离线服务器通过即时通信通道或采用Push方式转发的所述联动协议包。

11.如权利要求10所述的多端联动方法,其特征在于,与所述第二客户端关联的第一客户端为与所述第二客户端使用相同账号登陆的客户端。

12.一种客户端,其特征在于,包括:

接收模块,用于接收联动操作指令;

获取模块,用于在接收到联动操作指令时,获取所述客户端的操作用户的当前操作行为信息,所述当前操作行为信息包括当前操作界面信息以及当前上下文描述信息;

发送模块,用于将获取到的所述当前操作行为信息封装为联动协议包后,发送给服务器,由所述服务器将接收到的所述联动协议包转发给至少一个与所述客户端关联的其他客户端,以使所述至少一个其他客户端根据接收到的所述联动协议包,获取所述当前操作行为信息并在所述至少一个其他客户端上重构并显示所述当前操作行为信息;其中,所述由所述服务器将接收到的所述联动协议包转发给至少一个其他客户端,具体包括:若所述服务器确定当前存在至少一个已登录的其他客户端,则通过即时通信通道或采用推送Push方式将所述联动协议包转发给所述至少一个已登录的其他客户端中的一个或多个其他客户端;或者,若所述服务器确定当前不存在已登录的其他客户端,则将所述联动协议包保存在离线服务器中,由所述离线服务器在确定存在至少一个其他客户端由离线状态变为登录状态后,通过即时通信通道或采用Push方式将所述联动协议包转发给由离线状态变为登录状态的至少一个其他客户端中的一个或多个其他客户端。

13.如权利要求12所述的客户端,其特征在于,所述获取模块获取到的所述当前操作界面信息至少包括以下信息中的一种或多种:用户界面数据信息、操作焦点信息以及窗口位置信息;

所述获取模块获取到的所述当前上下文描述信息至少包括以下信息中的一种或多种:

程序配置信息以及环境配置信息。

14.如权利要求12或13所述的客户端,其特征在于,所述接收模块接收到的所述联动操作指令是所述操作用户向所述客户端发起的;或者,是所述服务器向所述客户端发起的。

15.如权利要求12或13所述的客户端,其特征在于,所述客户端以及所述其他客户端分别为即时通信客户端;所述服务器为即时通信服务器。

16.如权利要求15所述的客户端,其特征在于,

所述获取模块,具体用于将获取到的所述当前操作行为信息打包为应用层二级协议包,并将所述应用层二级协议包封装到即时通信一级协议包中形成联动协议包后,通过即时通信通道发送给所述服务器。

17.如权利要求12或13所述的客户端,其特征在于,所述其他客户端为与所述客户端使用相同账号登陆的客户端。

18.一种服务器,其特征在于,包括:

接收模块,用于接收第一客户端发送的联动协议包,所述联动协议包是所述第一客户端在接收到联动操作指令时,将获取到的所述第一客户端的操作用户的当前操作行为信息进行封装后所得到的,所述当前操作行为信息包括当前操作界面信息以及当前上下文描述信息;

发送模块,用于将接收到的所述联动协议包转发给至少一个与所述第一客户端关联的第二客户端,以使所述至少一个第二客户端根据接收到的所述联动协议包,获取所述当前操作行为信息并在所述至少一个第二客户端上重构并显示所述当前操作行为信息;其中,所述将接收到的所述联动协议包转发给至少一个第二客户端,具体包括:若确定当前存在至少一个已登录的第二客户端,则通过即时通信通道或采用推送Push方式将所述联动协议包转发给所述至少一个已登录的第二客户端中的一个或多个第二客户端;或者,若确定当前不存在已登录的第二客户端,则将所述联动协议包保存在离线服务器中,由所述离线服务器在确定存在至少一个第二客户端由离线状态变为登录状态后,通过即时通信通道或采用Push方式将所述联动协议包转发给由离线状态变为登录状态的至少一个第二客户端中的一个或多个第二客户端。

19.如权利要求18所述的服务器,其特征在于,

所述接收模块,具体用于通过即时通信通道接收所述第一客户端发送的联动协议包,其中,所述联动协议包是所述第一客户端将获取到的所述当前操作行为信息打包为应用层二级协议包,并将所述应用层二级协议包封装到即时通信一级协议包中后所得到的。

20.如权利要求18或19所述的服务器,其特征在于,与所述第一客户端关联的第二客户端为与所述第一客户端使用相同账号登陆的客户端。

21.一种客户端,其特征在于,包括:

接收模块,用于接收服务器转发的来自其他客户端的联动协议包,所述联动协议包是所述其他客户端在接收到联动操作指令时,将获取到的所述其他客户端的操作用户的当前操作行为信息进行封装后所得到的,所述当前操作行为信息包括当前操作界面信息以及当前上下文描述信息;其中,所述其他客户端为与所述客户端关联的客户端;

获取模块,用于根据接收到的所述联动协议包,获取所述联动协议包中包含的所述当前操作行为信息;其中,所述接收服务器转发的来自第一客户端的联动协议包,具体包括:接收所述服务器通过即时通信通道或采用推送Push方式转发的所述联动协议包;或者,接收离线服务器通过即时通信通道或采用Push方式转发的所述联动协议包;

重构模块,用于在所述客户端上重构并显示所述当前操作行为信息。

22.如权利要求21所述的客户端,其特征在于,与所述客户端关联的其他客户端为与所述客户端使用相同账号登陆的客户端。

23.一种多端联动系统,其特征在于,包括至少一个第一客户端、服务器以及至少一个第二客户端,其中,所述第二客户端为与所述第一客户端关联的客户端:所述第一客户端,用于在接收到联动操作指令时,获取所述第一客户端的操作用户的当前操作行为信息,并将获取到的所述当前操作行为信息封装为联动协议包后,发送给服务器,所述当前操作行为信息包括当前操作界面信息以及当前上下文描述信息;

所述服务器,用于将接收到的所述联动协议包转发给至少一个第二客户端;其中,所述将接收到的所述联动协议包转发给至少一个第二客户端,具体包括:若确定当前存在至少一个已登录的第二客户端,则通过即时通信通道或采用推送Push方式将所述联动协议包转发给所述至少一个已登录的第二客户端中的一个或多个第二客户端;或者,若确定当前不存在已登录的第二客户端,则将所述联动协议包保存在离线服务器中,由所述离线服务器在确定存在至少一个第二客户端由离线状态变为登录状态后,通过即时通信通道或采用Push方式将所述联动协议包转发给由离线状态变为登录状态的至少一个第二客户端中的一个或多个第二客户端;

所述第二客户端,用于根据接收到的所述联动协议包,获取所述当前操作行为信息并在所述第二客户端上重构并显示所述当前操作行为信息。

说明书 :

一种多端联动方法及相关设备与系统

技术领域

[0001] 本申请涉及移动通信技术领域,尤其涉及一种多端联动方法及相关设备与系统。

背景技术

[0002] 随着移动终端的日益普及,用户常需在PC(Personal Computer,个人计算机)终端以及移动终端等不同的终端间进行频繁地切换。在此基础上,为了使得用户在不同终端之间进行切换时,能够保持切换前后用户数据的一致性,业界提出了能够将用户在某一终端上的用户数据(例如消息等)同步到另一终端的多端联动的技术方案。
[0003] 但是,由于对于目前的多端联动技术方案来说,仅能够实现用户数据的多端同步,因此,使得用户在不同终端之间进行切换时,切换前后的操作界面以及上下文描述等并不能够同步,降低不同终端之间进行切换时的切换平滑性以及连续性,使得联动效果并不佳。因此,亟需提供一种新的多端联动方案,以解决上述技术问题。

发明内容

[0004] 本申请实施例提供了一种多端联动方法及相关设备与系统,用以解决目前存在的多端联动的联动效果并不佳的问题。
[0005] 本申请实施例提供了一种多端联动方法,包括:
[0006] 第一客户端在接收到联动操作指令时,获取所述第一客户端的操作用户的当前操作行为信息,所述当前操作行为信息包括当前操作界面信息以及当前上下文描述信息;并[0007] 将获取到的所述当前操作行为信息封装为联动协议包后,发送给服务器,由所述服务器将接收到的所述联动协议包转发给至少一个与所述第一客户端关联的第二客户端,以使所述至少一个第二客户端根据接收到的所述联动协议包,获取所述当前操作行为信息并在所述至少一个第二客户端上重构并显示所述当前操作行为信息。
[0008] 进一步地,本申请实施例还提供了另一种多端联动方法,包括:
[0009] 服务器接收第一客户端发送的联动协议包,所述联动协议包是所述第一客户端在接收到联动操作指令时,将获取到的所述第一客户端的操作用户的当前操作行为信息进行封装后所得到的,所述当前操作行为信息包括当前操作界面信息以及当前上下文描述信息;并
[0010] 将接收到的所述联动协议包转发给至少一个与所述第一客户端关联的第二客户端,以使所述至少一个第二客户端根据接收到的所述联动协议包,获取所述当前操作行为信息并在所述至少一个第二客户端上重构并显示所述当前操作行为信息。
[0011] 进一步地,本申请实施例还提供了另一种多端联动方法,包括:
[0012] 第二客户端接收服务器转发的来自第一客户端的联动协议包,所述联动协议包是所述第一客户端在接收到联动操作指令时,将获取到的所述第一客户端的操作用户的当前操作行为信息进行封装后所得到的,所述当前操作行为信息包括当前操作界面信息以及当前上下文描述信息;并
[0013] 根据接收到的所述联动协议包,获取所述联动协议包中包含的所述当前操作行为信息,并在所述第二客户端上重构并显示所述当前操作行为信息;其中,所述第一客户端为与所述第二客户端关联的客户端。
[0014] 相应地,本申请实施例提供了一种客户端,包括:
[0015] 接收模块,用于接收联动操作指令;
[0016] 获取模块,用于在接收到联动操作指令时,获取所述客户端的操作用户的当前操作行为信息,所述当前操作行为信息包括当前操作界面信息以及当前上下文描述信息;
[0017] 发送模块,用于将获取到的所述当前操作行为信息封装为联动协议包后,发送给服务器,由所述服务器将接收到的所述联动协议包转发给至少一个与所述客户端关联的其他客户端,以使所述至少一个其他客户端根据接收到的所述联动协议包,获取所述当前操作行为信息并在所述至少一个其他客户端上重构并显示所述当前操作行为信息。
[0018] 进一步地,本申请实施例还提供了一种服务器,包括:
[0019] 接收模块,用于接收第一客户端发送的联动协议包,所述联动协议包是所述第一客户端在接收到联动操作指令时,将获取到的所述第一客户端的操作用户的当前操作行为信息进行封装后所得到的,所述当前操作行为信息包括当前操作界面信息以及当前上下文描述信息;
[0020] 发送模块,用于将接收到的所述联动协议包转发给至少一个与所述第一客户端关联的第二客户端,以使所述至少一个第二客户端根据接收到的所述联动协议包,获取所述当前操作行为信息并在所述至少一个第二客户端上重构并显示所述当前操作行为信息。
[0021] 进一步地,本申请实施例还提供了另一种客户端,包括:
[0022] 接收模块,用于接收服务器转发的来自其他客户端的联动协议包,所述联动协议包是所述其他客户端在接收到联动操作指令时,将获取到的所述其他客户端的操作用户的当前操作行为信息进行封装后所得到的,所述当前操作行为信息包括当前操作界面信息以及当前上下文描述信息;其中,所述其他客户端为与所述客户端关联的客户端;
[0023] 获取模块,用于根据接收到的所述联动协议包,获取所述联动协议包中包含的所述当前操作行为信息;
[0024] 重构模块,用于在所述客户端上重构并显示所述当前操作行为信息。
[0025] 进一步地,本申请实施例还提供了一种多端联动系统,包括至少一个第一客户端、服务器以及至少一个第二客户端,其中,所述第二客户端为与所述第一客户端关联的客户端:
[0026] 所述第一客户端,用于在接收到联动操作指令时,获取所述第一客户端的操作用户的当前操作行为信息,并将获取到的所述当前操作行为信息封装为联动协议包后,发送给服务器,所述当前操作行为信息包括当前操作界面信息以及当前上下文描述信息;
[0027] 所述服务器,用于将接收到的所述联动协议包转发给至少一个第二客户端;
[0028] 所述第二客户端,用于根据接收到的所述联动协议包,获取所述当前操作行为信息并在所述第二客户端上重构并显示所述当前操作行为信息。
[0029] 本申请有益效果如下:
[0030] 本申请实施例提供了一种多端联动方法及相关设备与系统,在本申请实施例所述技术方案中,第一客户端在接收到联动操作指令时,可将获取到的所述第一客户端的操作用户的、包括当前操作界面信息及当前上下文描述信息在内的当前操作行为信息封装为联动协议包后,通过服务器转发给至少一个与所述第一客户端关联的第二客户端,以使所述至少一个第二客户端根据接收到的该联动协议包,重构并显示所述当前操作行为信息,从而解决了目前存在的用户在不同终端之间进行切换时,切换前后的操作界面以及上下文描述等并不能够同步的问题,在提高不同终端之间进行切换时的切换平滑性以及连续性的基础上,达到了能够实现用户操作界面和上下文的联动以恢复用户在其他终端的最后状态、并进而提高多端联动的联动效果的目的。

附图说明

[0031] 为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0032] 图1所示为本申请实施例一中所述多端联动方法的流程示意图;
[0033] 图2所示为本申请实施例二中所述多端联动方法的流程示意图;
[0034] 图3所示为本申请实施例二中所述多端联动方法的具体流程示意图;
[0035] 图4所示为本申请实施例三中所述多端联动方法的流程示意图;
[0036] 图5所示为本申请实施例四中所述客户端的结构示意图;
[0037] 图6所示为本申请实施例五中所述服务器的结构示意图;
[0038] 图7所示为本申请实施例六中所述客户端的结构示意图;
[0039] 图8所示为本申请实施例七中所述多端联动系统的结构示意图。

具体实施方式

[0040] 本申请实施例提供了一种多端联动方法及相关设备与系统,在本申请实施例所述技术方案中,第一客户端在接收到联动操作指令时,可将获取到的所述第一客户端的操作用户的、包括当前操作界面信息及当前上下文描述信息在内的当前操作行为信息封装为联动协议包后,通过服务器转发给至少一个与所述第一客户端关联的第二客户端,以使所述至少一个第二客户端根据接收到的该联动协议包,重构并显示所述当前操作行为信息,从而解决了目前存在的用户在不同终端之间进行切换时,切换前后的操作界面以及上下文描述等并不能够同步的问题,在提高不同终端之间进行切换时的切换平滑性以及连续性的基础上,达到了能够实现用户操作界面和上下文的联动以恢复用户在其他终端的最后状态、并进而提高多端联动的联动效果的目的。
[0041] 为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
[0042] 实施例一:
[0043] 如图1所示,其为本申请实施例一中所述多端联动方法的流程示意图,所述多端联动方法可包括以下步骤:
[0044] 步骤101:第一客户端在接收到联动操作指令时,获取所述第一客户端的操作用户的当前操作行为信息,所述当前操作行为信息包括当前操作界面信息以及当前上下文描述信息。
[0045] 具体地,在本申请所述实施例中,所述第一客户端通常可为即时通信客户端。当然需要说明的是,所述第一客户端还可为其他客户端,如电子邮件客户端或网页浏览器等,甚至还可为相对服务器设备而言的终端设备,如PC终端或移动终端等,本申请实施例对此不作任何限定。
[0046] 进一步地,以所述第一客户端为即时通信客户端为例,所述第一客户端通常可为设置在PC终端或移动终端等终端设备内的客户端。相应地,所述第一客户端的操作用户通常可为与所述第一客户端登录时所使用的账号相对应的操作用户,本申请实施例对此不作赘述。
[0047] 进一步地,在本申请所述实施例中,所述联动操作指令可以是所述操作用户向所述第一客户端发起的;或者,还可以是与所述第一客户端相连的服务器向所述第一客户端发起的。可以理解的是,本申请实施例对发起联动操作指令的主体可以不作限定。
[0048] 具体地,所述操作用户可在确定其需通过所述第一客户端登录时所使用的账号在其他客户端上登录时,向所述第一客户端发起相应的联动操作指令;或者,所述操作用户还可在确定其需暂停使用所述第一客户端进行的相应用户操作时,向所述第一客户端发起相应的联动操作指令,本申请实施例对此不作限定。类似地,所述服务器可在确定存在使用所述第一客户端登录时所使用的账号登录的其他客户端时,向所述第一客户端发起相应的联动操作指令。可以理解的是,本申请实施例对发起联动操作指令的时机可以不作限定。
[0049] 进一步地,在本申请所述实施例中,所述第一客户端在接收到联动操作指令时,可通过触发设置在所述操作用户使用所述第一客户端进行用户操作时的操作界面中的插件的方式,获取所述第一客户端的操作用户的当前操作行为信息(此处,所述当前通常可指的是所述第一客户端接收到联动操作指令的时刻或时段;或者,在考虑到接收联动操作指令与获取操作行为信息之间的时间差可忽略不计的前提下,所述当前还可指的是所述第一客户端根据接收到的联动操作指令开始执行获取相应的操作行为信息时所对应的时刻或时段)。
[0050] 进一步地,需要说明的是,所述当前操作行为信息通常可以为操作用户当前面向所述第一客户端实施的操作行为信息,即操作用户通过第一客户端的人机交互界面实现的操作的相关行为信息。
[0051] 进一步地,所述当前操作行为信息可包括当前操作界面信息以及当前上下文(Context)描述信息。其中,所述当前操作界面信息通常可包括用户可感知的界面信息,例如至少可包括以下信息中的一种或多种:用户界面数据信息、操作焦点信息以及窗口位置信息。
[0052] 其中,所述用户界面数据信息通常包括UI(User Interface,用户界面)上的一些文本(比如输入框输入内容)和/或用户选项中的数据(比如checkbox选择结果,所述checkbox即为屏幕上的复选框等),其强调的主要是UI上的表现。
[0053] 所述操作焦点信息通常包括用户当前正在操作的对象,也就是用户当前focus(聚焦)在哪个或哪些UI元素上面。其中,所述UI元素一般指的是UI控件等。
[0054] 所述窗口位置信息通常包括当前窗口显示区域;比如用户当前操作的是一个较长的scrollview(滚动视图或滚动界面)或者listview(列表视图或列表界面),则所述窗口位置信息可指的是当前用户处在scrollview或者listview的哪部分区域或位置。
[0055] 进一步地,所述当前操作行为信息中的所述当前上下文描述信息则通常包括不体现在用户界面上的、用户不一定能够直接感知到的信息,如至少可包括以下信息中的一种或多种:程序配置信息以及环境配置信息,其中:所述程序配置信息可以为是否播放声音、是否震动提醒,是否为隐身状态等程序配置信息,所述环境配置信息可以为用户当前位置、当前网络状况等环境配置信息。
[0056] 另外需要说明的是,所述第一客户端获取到的所述当前操作行为信息中除了可包括所述当前操作界面信息以及当前上下文描述信息之外,还可包括所述操作用户的当前用户数据(如聊天信息或图片)等信息。
[0057] 步骤102:第一客户端将获取到的所述当前操作行为信息封装为联动协议包后,发送给服务器,由所述服务器将接收到的所述联动协议包转发给至少一个与所述第一客户端关联的第二客户端,以使所述至少一个第二客户端根据接收到的所述联动协议包,获取所述当前操作行为信息并在所述至少一个第二客户端上重构并显示所述当前操作行为信息。
[0058] 具体地,与所述第一客户端关联的第二客户端可为与所述第一客户端使用相同账号登陆、从而具备相应的关联关系的客户端;或者,可为与所述第一客户端相互绑定(如根据设定的业务需求进行客户端的相互绑定等)、从而具备相应的关联关系的客户端等,本申请实施例对此不作限定。进一步地,当所述第二客户端为与所述第一客户端相互绑定、从而具备相应的关联关系的客户端时,所述第二客户端可为与所述第一客户端不使用相同的账号登陆的客户端,或者,所述第二客户端以及所述第一客户端可分别为不需要使用账号登陆的客户端,本申请实施例对此也不作限定。
[0059] 进一步地,所述第二客户端通常可为与所述第一客户端属于同一类型的客户端,如,当所述第一客户端为即时通信客户端时,所述第二客户端通常也可为相应的即时通信客户端;当所述第一客户端为电子邮件客户端等其他类型的客户端时,所述第二客户端通常也可为相应的电子邮件客户端等其他类型的客户端。另外需要说明的是,当所述第一、第二客户端分别为即时通信客户端等时,所述第一、第二客户端可分别设置在不同的终端设备内,例如,所述第一客户端可为设置在PC终端内的即时通信客户端,所述第二客户端可为设置在移动终端内的即时通信客户端等,本申请实施例对此不作限定。
[0060] 进一步地,需要说明的是,当所述第一、第二客户端分别为即时通信客户端时,所述服务器通常可为即时通信服务器,本申请实施例对此不作赘述。
[0061] 进一步地,在本申请所述实施例中,以所述第一、第二客户端为即时通信客户端,所述服务器为即时通信服务器为例,所述第一客户端可通过以下方式将获取到的所述当前操作行为信息封装为联动协议包后,发送给服务器:
[0062] 将获取到的所述当前操作行为信息打包为应用层二级协议包(如打包为ServerMessageTypeSyncScreen应用层二级协议包),并将所述应用层二级协议包封装到原有的即时通信一级协议包(即IM_NTF_IMMESSAGE一级协议包)中形成联动协议包后,通过即时通信通道(即IM通道)发送给所述服务器。
[0063] 也就是说,本申请所述技术方案可在已有的即时通信技术之上扩展二级应用层协议来实现,从而具备开发周期短、可用性比较强等特点,同时又可继承即时通信技术的即时性、可靠性以及准确性等特点,以进一步达到提高多端联动的联动效果的目的。
[0064] 另外需要说明的是,本申请实施例所述技术方案具体可应用于主流智能移动操作系统ios、android以及windows等(即其最佳硬件可以为搭载android或ios等操作系统的智能手机、或安装window的PC电脑等)。本申请实施例最佳编程语言可以为C以及C++等,从而可进一步达到提高多端联动的适用范围以及实用性的目的。
[0065] 本申请实施例一提供了一种多端联动方法,在本申请实施例一所述技术方案中,第一客户端在接收到联动操作指令时,可将获取到的所述第一客户端的操作用户的包括当前操作界面信息及当前上下文描述信息在内的当前操作行为信息封装为联动协议包后,通过服务器转发给至少一个与所述第一客户端关联的第二客户端,以使所述至少一个第二客户端根据接收到的该联动协议包,重构并显示所述当前操作行为信息,从而解决了目前存在的用户在不同终端之间进行切换时,切换前后的操作界面以及上下文描述等并不能够同步的问题,在提高不同终端之间进行切换时的切换平滑性以及连续性的基础上,达到了能够实现用户操作界面和上下文的联动以恢复用户在其他终端的最后状态、并进而提高多端联动的联动效果的目的。
[0066] 实施例二:
[0067] 本申请实施例二以动作执行方为服务器为例,对本申请实施例一中所述多端联动方法进行进一步地说明。具体地,如图2所示,所述多端联动方法可包括以下步骤:
[0068] 步骤201:服务器接收第一客户端发送的联动协议包,所述联动协议包是所述第一客户端在接收到联动操作指令时,将获取到的所述第一客户端的操作用户的当前操作行为信息进行封装后所得到的,所述当前操作行为信息包括当前操作界面信息以及当前上下文描述信息。
[0069] 具体地,所述服务器可通过即时通信通道接收所述第一客户端发送的所述联动协议包,其中,所述联动协议包是所述第一客户端将获取到的所述当前操作行为信息打包为应用层二级协议包,并将所述应用层二级协议包封装到即时通信一级协议包中后所得到的。
[0070] 也就是说,本申请所述技术方案可在已有的即时通信技术之上扩展二级应用层协议来实现,从而具备开发周期短、可用性比较强等特点,同时又可继承即时通信技术的即时性、可靠性以及准确性等特点,以进一步达到提高多端联动的联动效果的目的。
[0071] 步骤202:服务器将接收到的所述联动协议包转发给至少一个与所述第一客户端关联的第二客户端,以使所述至少一个第二客户端根据接收到的所述联动协议包,获取所述当前操作行为信息并在所述至少一个第二客户端上重构并显示所述当前操作行为信息。
[0072] 其中,与所述第一客户端关联的第二客户端可为与所述第一客户端使用相同账号登陆、从而具备相应的关联关系的客户端;或者,可为与所述第一客户端相互绑定、从而具备相应的关联关系的客户端等,本申请实施例对此不作限定。
[0073] 进一步地,在本申请所述实施例中,如图3所示,所述服务器在接收到所述联动协议包后,可通过以下方式将所述联动协议包转发给至少一个第二客户端:
[0074] 判断当前(此处,所述当前即所述服务器接收到所述联动协议包的时刻、或所述服务器接收到所述联动协议包的时刻所在的某一设定时段)是否存在至少一个已登录的第二客户端(即判断当前是否存在至少一个在线的第二客户端或与所述服务器相连接的第二客户端),若确定判断结果为是,则通过即时通信通道或采用Push(推送)等方式将所述联动协议包转发给所述至少一个已登录的第二客户端中的一个或多个第二客户端;或者,[0075] 若确定判断结果为否,即确定当前不存在已登录的第二客户端,则将所述联动协议包保存在离线服务器中,由所述离线服务器在确定存在至少一个第二客户端由离线状态变为登录状态后,通过即时通信通道或采用Push等方式将所述联动协议包转发给由离线状态变为登录状态的至少一个第二客户端中的一个或多个第二客户端。
[0076] 本申请实施例二提供了一种多端联动方法,在本申请实施例二所述技术方案中,服务器在接收到第一客户端发送的联动协议包后,可将所述联动协议包转发给至少一个与所述第一客户端关联的第二客户端,以使所述至少一个第二客户端根据接收到的所述联动协议包,获取所述联动协议包中携带的所述第一客户端的操作用户的当前操作行为信息并在所述至少一个第二客户端上重构并显示所述当前操作行为信息,从而解决了目前存在的用户在不同终端之间进行切换时,切换前后的操作界面以及上下文描述等并不能够同步的问题,在提高不同终端之间进行切换时的切换平滑性以及连续性的基础上,达到了能够实现用户操作界面和上下文的联动以恢复用户在其他终端的最后状态、并进而提高多端联动的联动效果的目的。
[0077] 实施例三:
[0078] 本申请实施例三以动作执行方为第二客户端(即未接收到联动操作指令的客户端)为例,对本申请实施例一中所述多端联动方法进行进一步地说明。具体地,如图4所示,所述多端联动方法可包括以下步骤:
[0079] 步骤301:第二客户端接收服务器转发的来自第一客户端的联动协议包,所述联动协议包是所述第一客户端在接收到联动操作指令时,将获取到的所述第一客户端的操作用户的当前操作行为信息进行封装后所得到的,所述当前操作行为信息包括当前操作界面信息以及当前上下文描述信息;其中,所述第一客户端为与所述第二客户端关联的客户端。
[0080] 具体地,与所述第二客户端关联的第一客户端可为与所述第二客户端使用相同账号登陆、从而具备相应的关联关系的客户端;或者,可为与所述第二客户端相互绑定、从而具备相应的关联关系的客户端等,本申请实施例对此不作限定。
[0081] 进一步地,在本申请所述实施例中,所述第二客户端可通过以下方式接收所述服务器转发的来自所述第一客户端的联动协议包:
[0082] 接收所述服务器通过即时通信通道或采用Push方式转发的所述联动协议包;或者,接收离线服务器通过即时通信通道或采用Push方式转发的所述联动协议包。其中,所述离线服务器所转发的所述联动协议包是所述服务器在接收到第一客户端发送的联动协议包、且确定当前不存在已登录的第二客户端时,转发给所述离线服务器的,本申请实施例对此不再赘述。
[0083] 步骤302:第二客户端根据接收到的所述联动协议包,获取所述联动协议包中包含的所述当前操作行为信息,并在所述第二客户端上重构并显示所述当前操作行为信息。
[0084] 具体地,所述第二客户端在接收到所述联动协议包后,可通过对所述联动协议包进行协议解析来获取所述联动协议包中包含的所述当前操作行为信息。进一步地,所述第二客户端在获取所述当前操作行为信息之后,即可根据所述当前操作行为信息中包含的当前操作界面信息以及当前上下文描述信息等,在所述第二客户端上重构与所述当前操作行为信息一致的操作行为信息,以恢复操作用户在所述第一客户端的最后状态,进而使得所述操作用户可基于恢复后的场景在所述第二客户端上继续从事其在所述第一客户端上未完成的相应用户操作,以达到提高多端联动的联动效果的目的。
[0085] 本申请实施例三提供了一种多端联动方法,在本申请实施例三所述技术方案中,第二客户端可根据服务器转发的来自第一客户端的联动协议包,获取所述联动协议包中包含的当前操作行为信息,并在所述第二客户端上重构并显示所述当前操作行为信息,从而解决了目前存在的用户在不同终端之间进行切换时,切换前后的操作界面以及上下文描述等并不能够同步的问题,在提高不同终端之间进行切换时的切换平滑性以及连续性的基础上,达到了能够实现用户操作界面和上下文的联动以恢复用户在其他终端的最后状态、并进而提高多端联动的联动效果的目的。
[0086] 实施例四:
[0087] 本申请实施例四提供了一种可用以实现本申请实施例一所示方法的客户端,如图5所示,其为本申请实施例四中所述客户端的结构示意图,所述客户端具体可包括接收模块
51、获取模块52以及发送模块53,其中:
[0088] 所述接收模块51可用于接收联动操作指令;具体地,所述接收模块51接收到的所述联动操作指令可以是所述客户端的操作用户向所述客户端发起的;或者,是与所述客户端相连的服务器向所述客户端发起的。
[0089] 所述获取模块52可用于在接收到联动操作指令时,获取所述客户端的操作用户的当前操作行为信息,所述当前操作行为信息包括当前操作界面信息以及当前上下文描述信息;其中,所述当前操作行为信息通常可以为操作用户当前面向所述第一客户端实施的操作行为信息,即操作用户通过第一客户端的人机交互界面实现的操作的相关行为信息。并且,所述当前操作行为信息中包括的所述当前操作界面信息至少可包括以下信息中的一种或多种:用户界面数据信息、操作焦点信息以及窗口位置信息等,所述当前操作行为信息中包括的所述当前上下文描述信息至少可包括以下信息中的一种或多种:程序配置信息以及环境配置信息等,本申请实施例对此均不作限定。
[0090] 所述发送模块53可用于将获取到的所述当前操作行为信息封装为联动协议包后,发送给服务器,由所述服务器将接收到的所述联动协议包转发给至少一个与所述客户端关联的其他客户端,以使所述至少一个其他客户端根据接收到的所述联动协议包,获取所述当前操作行为信息并在所述至少一个其他客户端上重构并显示所述当前操作行为信息。
[0091] 其中,与所述客户端关联的其他客户端可为与所述客户端使用相同账号登陆、从而具备相应的关联关系的客户端;或者,可为与所述客户端相互绑定、从而具备相应的关联关系的客户端等,本申请实施例对此不作限定。
[0092] 进一步地,所述发送模块53具体可用于将获取到的所述当前操作行为信息打包为应用层二级协议包,并将所述应用层二级协议包封装到即时通信一级协议包中形成联动协议包后,通过即时通信通道发送给所述服务器。
[0093] 也就是说,本申请所述技术方案可在已有的即时通信技术之上扩展二级应用层协议来实现,从而具备开发周期短、可用性比较强等特点,同时又可继承即时通信技术的即时性、可靠性以及准确性等特点,以进一步达到提高多端联动的联动效果的目的。
[0094] 进一步地,需要说明的是,在本申请所述实施例中,所涉及到的所述客户端以及所述其他客户端可分别为即时通信客户端,相应地,所述服务器可为即时通信服务器,本申请实施例对此不作任何限定。
[0095] 本申请实施例四提供了一种客户端,所述客户端在接收到联动操作指令时,可将获取到的所述客户端的操作用户的、包括当前操作界面信息及当前上下文描述信息在内的当前操作行为信息封装为联动协议包后,通过服务器转发给至少一个与所述客户端关联的其他客户端,以使所述至少一个其他客户端根据接收到的该联动协议包,重构并显示所述操作用户相对所述客户端的操作行为信息,从而解决了目前存在的用户在不同终端之间进行切换时,切换前后的操作界面以及上下文描述等并不能够同步的问题,在提高不同终端之间进行切换时的切换平滑性以及连续性的基础上,达到了能够实现用户操作界面和上下文的联动以恢复用户在其他终端的最后状态、并进而提高多端联动的联动效果的目的。
[0096] 实施例五:
[0097] 本申请实施例五提供了一种可用以实现本申请实施例二所示方法的服务器,如图6所示,其为本申请实施例五中所述服务器的结构示意图,所述服务器具体可包括接收模块
61以及发送模块62,其中:
[0098] 所述接收模块61可用于接收第一客户端发送的联动协议包,所述联动协议包是所述第一客户端在接收到联动操作指令时,将获取到的所述第一客户端的操作用户的当前操作行为信息进行封装后所得到的,所述当前操作行为信息包括当前操作界面信息以及当前上下文描述信息;
[0099] 所述发送模块62可用于将接收到的所述联动协议包转发给至少一个与所述第一客户端关联的第二客户端,以使所述至少一个第二客户端根据接收到的所述联动协议包,获取所述当前操作行为信息并在所述至少一个第二客户端上重构并显示所述当前操作行为信息。
[0100] 其中,与所述第一客户端关联的第二客户端可为与所述第一客户端使用相同账号登陆、从而具备相应的关联关系的客户端;或者,可为与所述第一客户端相互绑定、从而具备相应的关联关系的客户端等,本申请实施例对此不作限定。
[0101] 进一步地,所述接收模块61具体可用于通过即时通信通道接收所述第一客户端发送的联动协议包,其中,所述联动协议包是所述第一客户端将获取到的所述当前操作行为信息打包为应用层二级协议包,并将所述应用层二级协议包封装到即时通信一级协议包中后所得到的。
[0102] 所述发送模块62具体可用于若确定当前存在至少一个已登录的第二客户端,则通过即时通信通道或采用Push方式将所述联动协议包转发给所述至少一个已登录的第二客户端中的一个或多个第二客户端;或者,具体可用于若确定当前不存在已登录的第二客户端,则将所述联动协议包保存在离线服务器中,由所述离线服务器在确定存在至少一个第二客户端由离线状态变为登录状态后,通过即时通信通道或采用Push方式将所述联动协议包转发给由离线状态变为登录状态的至少一个第二客户端中的一个或多个第二客户端。
[0103] 本申请实施例五提供了一种服务器,所述服务器在接收到第一客户端发送的联动协议包后,可将所述联动协议包转发给至少一个与所述第一客户端关联的第二客户端,以使所述至少一个第二客户端根据接收到的所述联动协议包,获取所述联动协议包中携带的所述第一客户端的操作用户的当前操作行为信息并在所述至少一个第二客户端上重构并显示所述当前操作行为信息,从而解决了目前存在的用户在不同终端之间进行切换时,切换前后的操作界面以及上下文描述等并不能够同步的问题,在提高不同终端之间进行切换时的切换平滑性以及连续性的基础上,达到了能够实现用户操作界面和上下文的联动以恢复用户在其他终端的最后状态、并进而提高多端联动的联动效果的目的。
[0104] 实施例六:
[0105] 本申请实施例六提供了一种可用以实现本申请实施例三所示方法的客户端,如图7所示,其为本申请实施例六中所述客户端的结构示意图,所述客户端具体可包括接收模块
71、获取模块72以及重构模块73,其中:
[0106] 所述接收模块71可用于接收服务器转发的来自其他客户端的联动协议包,所述联动协议包是所述其他客户端在接收到联动操作指令时,将获取到的所述其他客户端的操作用户的当前操作行为信息进行封装后所得到的,所述当前操作行为信息包括当前操作界面信息以及当前上下文描述信息;其中,所述其他客户端为与所述客户端关联的客户端。具体地,与所述客户端关联的其他客户端可为与所述客户端使用相同账号登陆、从而具备相应的关联关系的客户端;或者,可为与所述客户端相互绑定、从而具备相应的关联关系的客户端等,本申请实施例对此不作限定。
[0107] 所述获取模块72可用于根据接收到的所述联动协议包,获取所述联动协议包中包含的所述当前操作行为信息;
[0108] 所述重构模块73可用于在所述客户端上重构并显示所述当前操作行为信息。
[0109] 具体地,所述接收模块71可用于接收所述服务器通过即时通信通道或采用Push方式转发的所述联动协议包;或者,可用于接收离线服务器通过即时通信通道或采用Push方式转发的所述联动协议包。
[0110] 本申请实施例六提供了一种客户端,所述客户端可根据服务器转发的来自其他客户端的联动协议包,获取所述联动协议包中包含的当前操作行为信息,并在所述客户端上重构并显示所述当前操作行为信息,从而解决了目前存在的用户在不同终端之间进行切换时,切换前后的操作界面以及上下文描述等并不能够同步的问题,在提高不同终端之间进行切换时的切换平滑性以及连续性的基础上,达到了能够实现用户操作界面和上下文的联动以恢复用户在其他终端的最后状态、并进而提高多端联动的联动效果的目的。
[0111] 实施例七:
[0112] 本申请实施例七提供了一种可用以实现本申请实施例一~实施例三任一所示方法的多端联动系统,如图8所示,其为本申请实施例七中所述多端联动系统的结构示意图,所述系统具体可包括至少一个第一客户端81、服务器82以及至少一个第二客户端83,其中,所述第二客户端83为与所述第一客户端81关联的客户端:
[0113] 所述第一客户端81可用于在接收到联动操作指令时,获取所述第一客户端81的操作用户的当前操作行为信息,并将获取到的所述当前操作行为信息封装为联动协议包后,发送给所述服务器82,所述当前操作行为信息包括当前操作界面信息以及当前上下文描述信息;
[0114] 所述服务器82可用于将接收到的所述联动协议包转发给至少一个第二客户端83;
[0115] 所述第二客户端83可用于根据接收到的所述联动协议包,获取所述当前操作行为信息并在所述第二客户端83上重构并显示所述当前操作行为信息。
[0116] 具体地,所述第一客户端81、所述服务器82以及所述第二客户端83的具体结构和功能可分别与本申请实施例四、实施例五以及实施例六中所述的客户端或服务器相同,本申请实施例对此不作赘述。另外,所述第一客户端81还可具备所述第二客户端83所具备的相应功能,所述第二客户端83还可具备所述第一客户端81所具备的相应功能,本申请实施例对此也不作赘述。
[0117] 本申请实施例七提供了一种多端联动系统,所述多端联动系统中的第一客户端在接收到联动操作指令时,可将获取到的所述第一客户端的操作用户的、包括当前操作界面信息及当前上下文描述信息在内的当前操作行为信息封装为联动协议包后,通过所述多端联动系统中的服务器转发给至少一个与所述第一客户端关联的第二客户端,以使所述至少一个第二客户端根据接收到的该联动协议包,重构并显示所述操作用户相对所述第一客户端的操作行为信息,从而解决了目前存在的用户在不同终端之间进行切换时,切换前后的操作界面以及上下文描述等并不能够同步的问题,在提高不同终端之间进行切换时的切换平滑性以及连续性的基础上,达到了能够实现用户操作界面和上下文的联动以恢复用户在其他终端的最后状态、并进而提高多端联动的联动效果的目的。
[0118] 本领域技术人员应明白,本申请的实施例可提供为方法、装置(设备)、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
[0119] 本申请是参照根据本申请实施例的方法、装置(设备)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0120] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0121] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0122] 尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
[0123] 显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。