实现跨客户端消息同步的方法、用户设备及服务器的制造方法

文档序号:9710743阅读:377来源:国知局
实现跨客户端消息同步的方法、用户设备及服务器的制造方法
【技术领域】
[0001]本发明涉及通信技术领域,尤其涉及一种实现跨客户端消息同步的方法、用户设备及服务器。
【背景技术】
[0002]随着网络的普及,即时通信(Instant Messaging,简称IM)工具已经成为人们进行信息交互的一种主要方式,而且用户通常会使用多个终端使用IM工具,这样就需要在多个终端的客户端同步消息。
[0003]目前,在多端同步消息的实现方案上,都采用在各端客户端登录后,用当前登录的时间作为获取同步消息的时间戳到服务器同步一定总数量(例如100条)的最新的消息到客户端,这样实现某种程度上的一部分消息的同步。然而,这种方法当部分好友或群组的消息同步达到总数量后,则其他好友或群组的会话的消息无法实现同步。这样造成了 IM消息以片段的形式分布在不同的客户端上,每一端都没有完整的消息内容。

【发明内容】

[0004]本发明提供一种实现跨客户端消息同步的方法、用户设备及服务器,以实现将所有会话标识对应的会话消息都能在不同用户设备上的客户端进行同步。
[0005]第一方面,本发明提供一种实现跨客户端消息同步的方法,包括:
[0006]本地客户端获取需同步的会话消息对应的会话标识;
[0007]所述本地客户端确定请求时间戳以及所请求的在所述请求时间戳之前的消息范围;
[0008]所述本地客户端向服务器发送同步请求,所述同步请求包括:所述请求时间戳、所述会话标识、所述消息范围;
[0009]所述本地客户端接收所述服务器根据所述同步请求反馈的会话消息队列。
[0010]第二方面,本发明提供一种实现跨客户端消息同步的方法,包括:
[0011]服务器接收第一客户端发送的同步请求;所述同步请求包括:请求时间戳、会话标识、消息范围;所述请求时间戳表示所述第一客户端请求在所述请求时间戳之前的会话消息;
[0012]所述服务器根据所述同步请求获取会话消息队列,并发送给所述第一客户端。
[0013]第三方面,本发明提供一种用户设备,包括:
[0014]获取模块,用于获取需同步的会话消息对应的会话标识;
[0015]确定模块,用于确定请求时间戳以及所请求的在所述请求时间戳之前的消息范围;
[0016]发送模块,用于向服务器发送同步请求,所述同步请求包括:所述请求时间戳、所述会话标识、所述消息范围;
[0017]接收模块,用于接收所述服务器根据所述同步请求反馈的会话消息队列。
[0018]第四方面,本发明提供一种服务器,包括:
[0019]接收模块,用于接收用户设备发送的同步请求;所述同步请求包括:请求时间戳、会话标识、消息范围;所述请求时间戳表示所述用户设备请求在所述请求时间戳之前的会话消息;
[0020]获取模块,用于根据所述同步请求获取会话消息队列;
[0021]发送模块,用于将所述获取模块获取到的会话消息队列发送给所述用户设备。
[0022]本发明实现跨客户端消息同步的方法、用户设备及服务器,通过本地客户端根据需同步的会话消息对应的会话标识、请求时间戳以及所请求的在所述请求时间戳之前的消息范围,向向服务器发送同步请求,用户设备接收服务器根据所述同步请求反馈的会话消息队列,相比现有技术而言,能够实现将所有会话标识对应的会话消息都能在不同用户设备上的客户端进行同步。
【附图说明】
[0023]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0024]图1为本发明实现跨客户端消息同步的方法一实施例的流程示意图;
[0025]图2为本发明方法实施例对应的网络架构示意图;
[0026]图3为本发明方法实施例中的会话窗口示意图;
[0027]图4为本发明实现跨客户端消息同步的方法另一实施例的流程示意图;
[0028]图5A为本发明用户设备一实施例的结构不意图;
[0029]图5B为本发明用户设备另一实施例的结构示意图;
[0030]图6为本发明服务器一实施例的结构示意图。
【具体实施方式】
[0031]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0032]本发明实施例所涉及的用户设备,可以包括但不限于智能手机、平板电脑、计算机等移动通讯设备,还可以包括既具有触摸屏也具有物理按键的移动终端,本发明实施例并不限定。
[0033]下面以具体地实施例对本发明的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
[0034]图1为本发明实现多客户端消息同步的方法一实施例的流程示意图。本实施例的执行主体为用户设备中的本地客户端。如图1所示,本实施例的方法,包括:
[0035]步骤101、本地客户端获取需同步的会话消息对应的会话标识;
[0036]步骤102、本地客户端确定请求时间戳以及所请求的在请求时间戳之前的消息条数;
[0037]步骤103、本地客户端向服务器发送同步请求,同步请求包括:请求时间戳、会话标识、消息范围;
[0038]步骤104、本地客户端接收服务器根据同步请求反馈的会话消息队列。
[0039]具体来说,服务器端保存了用户设备的本地客户端中所有联系人的会话消息,用户设备的本地客户端可以在登录过程中向服务器获取需同步的会话消息对应的会话标识,如联系人1的会话消息对应的会话标识;本地客户端例如是微信、QQ、popo等。
[0040]本地客户端在同步消息时,需要确定请求时间戳以及消息范围,即请求在该请求时间戳之前的会话消息;该请求时间戳可以为当前时间。
[0041]其中,在实际应用中,消息范围包括:会话消息条数或回溯时间区间。
[0042]具体来说,消息范围可以是请求的消息条数,或回溯时间区间,回溯时间区间表示请求在请求时间戳之前的请求回溯时间区间内的会话消息。
[0043]然后用户设备的本地客户端向服务器发送包含请求时间戳、会话标识和消息范围的同步请求,服务器接收到该同步请求后,根据该同步请求获取相应的会话消息队列并发送给用户设备。
[0044]安装有本地客户端的用户设备可以通过轮循的方式,每次获取预设的条数或预设的回溯时间区间的消息,直到服务器没有消息返回为止,则表示该会话标识下的所有消息都已经同步到该用户设备的本地客户端中,同步消息完成,该用户设备的本地客户端拥有了该会话标识对应的所有会话消息。用户设备针对所有的联系人和群组的会话标识去向服务器获取会话消息,则能获取到所有联系人和群组的所有会话消息。
[0045]其中,在实际应用中,本地客户端获取需同步的会话消息对应的会话标识之后,包括:
[0046]本地客户端以当前时间更新当前的请求时间戳。
[0047]具体来说,本地客户端每次在登陆客户端后,同步会话消息时,都可以以当前时间作为请求时间戳,发送同步请求,用于请求在当前时间之前的会话消息。
[0048]例如,假设用户A的一个联系人为用户B,消息范围包括消息条数,且每次同步的消息条数为20条;
[0049]1)用户B和用户A在8: 00-9: 00发送了 20条会话消息。
[0050]2)用户A在9:10登陆计算机上的本地客户端,取当前时间9:10作为请求时间戳去同步和用户B的会话消息,由于每次同步的消息条数为20条,则本地客户端同步20条会话消息,服务器反馈的20条会话消息都同步成功。
[0051]3)用户A在9:30再次登陆计算机上的所述本地客户端,此时,以当前时间9:30作为请求时间戳,向服务器发送同步请求,可以避免上次登录时间9:10至当前时间9:30之间遗漏的聊天记录。
[0052]图2为本发明方法实施例对应的网络架构示意图。如图2所示,不同的用户设备的本地客户端都可以向服务器发起同步请求,获取会话消息。
[0053]在上述实施例的基础上,进一步的,在实际应用中,为了将某一会话标识对应的所有会话消息都同步到用户设备中,可以在步骤104之后,进行如下操作:
[0054]本地客户端从服务器反馈的会话消息队列中获取其中的反馈最小时间戳;
[0055]本地客户端获取与会话标识对应的会话消息队列的本地最大时间戳;
[0056]当反馈最小时间戳大于本地最大时间戳时,本地客户端以反馈最小时间戳更新当前的请求时间戳。
[0057]具体来说,本地客户端可以根据会话标识查找本地客户端中所有已同步的会话消息队列中的本地最大时间戳,当反馈最小时间戳大于本地最大时间戳时,表明本地客户端中还可能有未同步的会话消息,本地客户端可以基于服务器返回的会话消息队列,再次向服务器发起同步请求,这次同步请求中的请求时间戳设置为服务器反馈的会话消息队列中的反馈最小时间戳。
[0058]其中,反馈最小时间戳对应的会话消息为服务器反馈的会话消息队列中时间最早的会话消息。
[0059]本地最大时间戳为本地客户端已存储的会话消息的最大时间戳。
[0060]用户设备可以多次向服务器发起同步请求,直至服务器返回的会话消息条数小于一设
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1