消息同步方法、系统、服务器及客户端的制作方法

文档序号:7996817阅读:286来源:国知局
消息同步方法、系统、服务器及客户端的制作方法
【专利摘要】本发明实施例提供一种消息同步方法、系统、服务器及客户端,其中的方法可包括:第一通信账号在至少一个客户端登录后,服务器获取所述第一通信账号对应的设有未读标记的共享消息;所述服务器将所述设有未读标记的共享消息发送至所述至少一个客户端中的每个客户端;若接收到所述至少一个客户端中的任一客户端阅读所述设有未读标记的共享消息后上报的已读标记,所述服务器将所述已读标记同步至所述至少一个客户端中除上报所述已读标记的客户端之外的每个客户端。本发明可保持同一通信账号所登录的各客户端之间的消息及消息的阅读状态同步,减少重复的未读提醒,提升用户的消息阅读体验。
【专利说明】消息同步方法、系统、服务器及客户端
【技术领域】
[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]图1为本发明实施例提供的一种消息同步方法的流程图;
[0026]图2为本发明实施例提供的另一种消息同步方法的流程图;
[0027]图3为本发明实施例提供的又一种消息同步方法的流程图;
[0028]图4为本发明实施例提供的又一种消息同步方法的流程图;
[0029]图5为本发明实施例提供的又一种消息同步方法的流程图;
[0030]图6为本发明实施例提供的又一种消息同步方法的流程图;
[0031]图7为本发明实施例提供的又一种消息同步方法的流程图;
[0032]图8为本发明实施例提供的又一种消息同步方法的流程图;
[0033]图9为本发明实施例提供的一种服务器的结构示意图;
[0034]图10为本发明实施例提供的另一种服务器的结构示意图;
[0035]图11为本发明实施例提供的又一种服务器的结构示意图;[0036]图12为本发明实施例提供的服务器的获取模块的结构示意图;
[0037]图13为本发明实施例提供的一种客户端的结构示意图;
[0038]图14为本发明实施例提供的客户端的标记模块的一个实施例的结构示意图;
[0039]图15为本发明实施例提供的客户端的标记模块的另一个实施例的结构示意图。
【具体实施方式】
[0040]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0041]本发明实施例中,客户端可以为:PC、手机、智能手机、平板电脑、电子阅读器、笔记本电脑等设备中的任一种。
[0042]下面将结合附图1-附图8,对本发明实施例提供的消息同步方法进行详细介绍。
[0043]请参见图1,为本发明实施例提供的一种消息同步方法的流程图;本实施例从服务器侧阐述消息同步方法的流程;该方法可包括以下步骤SlOl-步骤S103。 [0044]S101,第一通信账号在至少一个客户端登录后,服务器获取所述第一通信账号对应的设有未读标记的共享消息。
[0045]其中,第一通信账号在客户端登录可以包括第一通信账号在客户端的即时通信应用登录,则所述第一通信账号为所述即时通信应用中的任一即时通信账号;或者,第一通信账号在客户端登录也可以包括第一通信账号在客户端的浏览器应用登录,则所述第一通信账号为所述浏览器应用中的任一通信账号;或者,第一通信账号在客户端登录也可以包括第一通信账号在客户端的SNS(Social Networking Services,社会性网络服务)应用登录,则所述第一通信账号为所述SNS应用中的任一个SNS通信账号。一个通信账号可以在一个客户端中进行单点登录,例如:通信账号A可在PC端的即时通信应用登录,则该通信账号A对应的用户A可在PC端使用即时通信应用与其他用户进行信息交流。一个通信账号也可以在多个客户端中进行多点登录,例如:通信账号A既可以在PC端的即时通信应用登录,又可以在手机端的即时通信应用登录,则通信账号A对应的用户A可在PC端和手机端使用即时通信应用与其他用户进行信息交流。
[0046]本发明实施例中,服务器管理同一通信账号下的所有共享消息,例如:当第一通信账号在PC端的即时通信应用和手机端的即时通信应用进行多点登录后,服务器统一管理该通信账号对应的用户在PC端和手机端使用即时通信应用的所有即时通信消息,包括该通信账号对应的所有已读的即时通信消息和所有未读的即时通信消息。本步骤中,第一通信账号在至少一个客户端登录后,服务器获取所述第一通信账号对应的设有未读标记的共享消息,即服务器获取所述第一通信账号对应的未读消息。
[0047]S102,所述服务器将所述设有未读标记的共享消息发送至所述至少一个客户端中的每个客户端。
[0048]本步骤中,所述服务器将所述设有未读标记的共享消息发送至所述至少一个客户端中的每个客户端,可使得所述至少一个客户端中的任一客户端能够根据所述设有未读标记的共享消息输出阅读提醒,以提醒用户及时读取该设有未读标记的共享消息。本步骤可以保持第一通信账号已登录的各个客户端之间的消息一致性,实现同一通信账号下的各个登录客户端之间的消息同步。
[0049]S103,若接收到所述至少一个客户端中的任一客户端阅读所述设有未读标记的共享消息后上报的已读标记,所述服务器将所述已读标记同步至所述至少一个客户端中除上报所述已读标记的客户端之外的每个客户端。
[0050]本步骤中,服务器如果接收到所述至少一个客户端中的任一客户端阅读所述设有未读标记的共享消息后上报的已读标记,则表明所述设有未读标记的共享消息已在上报的客户端中被阅读,该设有未读标记的共享消息的阅读状态已由未读状态变为已读状态。进一步地,本步骤中服务器将接收到的已读标记同步至所述至少一个客户端中除上报所述已读标记的客户端之外的每个客户端,可通知所述至少一个客户端中除上报所述已读标记的客户端之外的每个客户端所述设有未读标记的共享消息的阅读状态已由未读状态变为已读状态,无需再进行阅读提醒,从而可避免针对同一未读消息在各客户端进行重复提醒,提升用户的使用体验。本步骤可以保持第一通信账号已登录的各个客户端之间的消息的阅读状态的一致性,实现同一通信账号下的各个登录客户端之间的消息的阅读状态的同步。
[0051]本发明实施例中,第一通信账号在至少一个客户端登录后,服务器获取所述第一通信账号对应的设有未读标记的共享消息发送至所述至少一个客户端中的每个客户端;通过服务器向各客户端下发相同的未读消息,可保证同一通信账号登录的各客户端之间的消息同步。另外,若接收到所述至少一个客户端中的任一客户端阅读所述设有未读标记的共享消息后上报的已读标记,所述服务器将所述已读标记同步至所述至少一个客户端中的每个客户端;已读标记可保证各个客户端之间的消息的阅读状态同步,一定程度上避免了相同消息在各个客户端进行重复的未读提醒的问题,提升了客户端的智能性,提升了用户的消息阅读体验。
[0052]请参见图2,为本发明实施例提供的另一种消息同步方法的流程图;本实施例从服务器侧阐述消息同步方法的流程;该方法可包括以下步骤S201-步骤S208。
[0053]S201,第一通信账号在至少一个客户端登录之前,若检测到第二通信账号发送至第一通信 账号的共享消息,所述服务器为所述共享消息设置未读标记。
[0054]本实施例中,第一通信账号在客户端登录可以包括第一通信账号在客户端的即时通信应用登录,则所述第一通信账号为所述即时通信应用中的任一即时通信账号,所述第二通信账号为所述即时通信应用中除所述第一通信账号之外的任一即时通信账号;或者,第一通信账号在客户端登录也可以包括第一通信账号在客户端的浏览器应用登录,则所述第一通信账号为所述浏览器应用中的任一通信账号,所述第二通信账号为所述浏览器应用中除所述第一通信账号之外的任一通信账号;或者,第一通信账号在客户端登录也可以包括第一通信账号在客户端的SNS应用登录,则所述第一通信账号为所述SNS应用中的任一个SNS通信账号,所述第二通信账号为所述SNS应用中除所述第一通信账号之外的任一 SNS通信账号。
[0055]其中,所述未读标记中携带第一 ID (Identity,标识号码),一个第一 ID可用于唯一标识一条共享消息。本步骤中,服务器为所述第二通信账号发送的共享消息设置未读标记后,即表明该共享消息为所述第一通信账号对应的未读消息;例如:通信账号A在任一个客户端的即时通信应用登录之前,如果服务器检测到通信账号B对应的用户B通过任一终端(例如:PC端、手机或平板电脑等终端)发送给通信账号A的共享消息al,所述服务器则为共享消息al分配第一 ID (如:米用ID-al表不),并为共享消息al设置未读标记Al,并在未读标记Al中携带该ID-al,共享消息al则为通信账号A对应的一条未读消息。
[0056]S202,所述服务器将所述设有未读标记的共享消息存储至所述第一通信账号对应的未读消息列表中。
[0057]本发明实施例中,服务器可以列表的形式存储通信账号对应的未读消息,形成该通信账号对应的未读消息列表。根据上述步骤S201中的例子,假设经过上述步骤S201,通信账号A共存在两条未读消息,包括:设有未读标记Al的共享消息al及设有未读标记A2的共享消息a2 ;则本步骤中,所述服务器将该两条未读消息存储至所述通信账号A对应的未读消息列表中。
[0058]S203,所述第一通信账号在至少一个客户端登录后,所述服务器根据所述第一通信账号,查询所述第一通信账号对应的未读消息列表。
[0059]S204,所述服务器从所述第一通信账号对应的未读消息列表中读取设有未读标记的共享消息。
[0060]步骤S203-S204中,第一通信账号在至少一个客户端登录后,服务器可根据该第一通信账号,查询该第一通信账号对应的未读消息列表,从该未读消息列表中读取设有未读标记的共享消息;按照上述步骤S201-S202中的例子:通信账号A在至少一个客户端登录后,步骤S203-S204可从通信账号A对应的未读消息列表中读取未读标记Al的共享消息al及设有未读标记A2的 共享消息a2共两条设有未读标记的共享消息。
[0061]S205,所述服务器将读取的所述设有未读标记的共享消息发送至所述至少一个客户端中的每个客户端。
[0062]本步骤中,所述服务器将读取的所述设有未读标记的共享消息发送至所述至少一个客户端中的每个客户端,可使得所述至少一个客户端中的任一客户端能够根据所述设有未读标记的共享消息输出阅读提醒,以提醒用户及时读取该设有未读标记的共享消息。本步骤可以保持第一通信账号已登录的各个客户端之间的消息一致性,实现同一通信账号下的各个登录客户端之间的消息同步。
[0063]需要说明的是,所述至少一个客户端中的每个客户端接收到服务器发送的所述设有未读标记的共享消息之后,可本地进行消息去重过滤处理,删除重复的共享消息,例如:假设通信账号A上次在PC端登录后,所述服务器向PC端下发设有未读标记Al的共享消息al,且上次登录后PC端尚未针对共享消息al输出阅读提醒信息,通信账号A对应的用户A即从PC端退出登录;或者上次登录后虽然PC端针对共享消息al输出阅读提醒信息,但通信账号A对应的用户A并未对共享消息al进行阅读即从PC端退出登录;则上次通信账号A从PC端退出登录后,共享消息al依然属于通信账号A的一条未读消息,且存在于通信账号A对应的未读消息列表中。本实施例中通信账号A在PC端登录后,服务器从通信账号A的未读消息列表中读取未读的共享消息al,并向PC端下发共享消息al,由于共享消息al在通信账号A在上次登录PC端后已经收到过,因此本次接收到共享消息al之后,PC端需要去重处理,删除本次重复接收的共享消息al ;之后,PC端可根据自身的消息提醒机制,针对该未读的共享消息al输出阅读提醒信息,以提醒用户A及时阅读共享消息al。
[0064]S206,若接收到所述至少一个客户端中的任一客户端阅读所述设有未读标记的共享消息后上报的已读标记,所述服务器将所述已读标记同步至所述至少一个客户端中除上报所述已读标记的客户端之外的每个客户端。
[0065]本实施例的步骤S206可参见图1所示实施例的步骤S103,在此不赘述。
[0066]需要说明的是,本实施例中,所述已读标记中携带第二 ID,一个第二 ID可用于唯一标识一条共享消息;例如:假设通信账号A在PC端登录后,所述服务器向PC端下发设有未读标记Al的共孚消息al及设有未读标记A2的共孚消息a2共两条设有未读标记的共孚消息,其中,未读标记Al携带ID-al用以唯一标识共享消息al ;未读标记A2中携带ID_a2用以唯一标识共享消息a2。经PC端本地消息去重过滤后,PC端针对共享消息al和共享消息a2输出阅读提醒信息,若PC端的用户A仅阅读了共享消息a2,PC端则提取ID_a2作为第二 ID,并生成一个已读标记bl,在该已读标记bl中携带ID-a2 ;PC端将该已读标记bl上报至服务器,步骤S206中,服务器将该已读标记bl同步至其他登录客户端,服务器及同步的其他客户端可根据该已读标记bl中携带的ID-a2,获知ID-a2所标识的共享消息a2已被阅读。
[0067]S207,所述服务器从所述第一通信账号对应的未读消息列表中查找未读标记中携带的第一 ID与所述已读标记中携带的第二 ID相同的共享消息。
[0068]S208,所述服务器将查找到的所述共享消息从所述第一通信账号对应的未读消息列表中删除。
[0069]依上述例子 ,若PC端上报已读标记bl至服务器,该已读标记bl中携带ID_a2,由于服务器根据PC端上报的已读标记bl中携带的ID-a2,获知ID_a2所标识的共享消息a2已被阅读,步骤S207-S208中,服务器可在通信账号A对应的未读消息列表中查找到未读标记A2中携带ID-a2,并进一步查找到共享消息a2,服务器从通信账号A对应的未读消息列表中删除查找到的共享消息a2,则通信账号A再次登录至少一个客户端之后,服务器则不再向该登录的客户端下发共享消息a2。通过步骤S207-S208,可使所述第一通信账号对应的未读消息列表所包含的内容能够得到及时更新,保证下一次消息同步的准确性。
[0070]本发明实施例中,第一通信账号在至少一个客户端登录后,服务器获取所述第一通信账号对应的设有未读标记的共享消息发送至所述至少一个客户端中的每个客户端;通过服务器向各客户端下发相同的未读消息,可保证同一通信账号登录的各客户端之间的消息同步。另外,若接收到所述至少一个客户端中的任一客户端阅读所述设有未读标记的共享消息后上报的已读标记,所述服务器将所述已读标记同步至所述至少一个客户端中的每个客户端;已读标记可保证各个客户端之间的消息的阅读状态同步,一定程度上避免了相同消息在各个客户端进行重复的未读提醒的问题,提升了客户端的智能性,提升了用户的消息阅读体验。
[0071]请参见图3,为本发明实施例提供的又一种消息同步方法的流程图;本实施例从服务器侧阐述消息同步方法的流程;该方法可包括以下步骤S301-步骤S306。
[0072]S301,第一通信账号在至少一个客户端登录之前,若检测到第二通信账号发送至第一通信账号的共享消息,所述服务器为所述共享消息设置未读标记。
[0073]S302,所述服务器将所述设有未读标记的共享消息存储至所述第一通信账号对应的未读消息列表中。
[0074]S303,所述第一通信账号在至少一个客户端登录后,所述服务器根据所述第一通信账号,查询所述第一通信账号对应的未读消息列表。
[0075]S304,所述服务器从所述第一通信账号对应的未读消息列表中读取设有未读标记的共享消息。
[0076]S305,所述服务器将读取的所述设有未读标记的共享消息发送至所述至少一个客户端中的每个客户端。
[0077]S306,若接收到所述至少一个客户端中的任一客户端阅读所述设有未读标记的共享消息后上报的已读标记,所述服务器将所述已读标记同步至所述至少一个客户端中除上报所述已读标记的客户端之外的每个客户端。
[0078]本实施例的步骤S301-S306可参见图2所示实施例的步骤S201-S206,在此不赘述。
[0079]需要说明的是,本实施例中,所述未读标记中携带第一 ID和第一时间戳,一个第一 ID用于唯一标识一条共享消息,一个第一时间戳用于表示一条共享消息的产生时间;例如:共享消息Cl的未读标记Cl中携带ID-cl和时间戳T-cl,其中ID-cl用于唯一标识共享消息Cl,时间戳T-cl表示共享消息Cl的产生时间戳;再如:共享消息c2的未读标记C2中携带ID-c2和时间戳T-c2,其中ID-a2用于唯一标识共享消息c2,时间戳T_c2表示共享消息c2的产生时间戳。可以理解的是,T-cl和T-c2的值可以相等,表明共享消息Cl和共享消息c2同时产生;T-cl和T-c2的值也可以不等,表明共享消息Cl和共享消息c2的产生时间不同。
[0080]所述已读标记中携带第二时间戳,一个第二时间戳可用于标识一条共享消息的产生时间;例如:假设通信账号A在PC端登录后,服务器向PC端下发设有未读标记Cl的共享消息Cl和设有未读标记C2的共享消息c2共两条设有未读标记的共享消息,其中,未读标记Cl携带ID-cl和时间戳T-cI,未读标记C2中携带ID-c2和时间戳T_c2,且T_cl的值小于T-c2。经PC端本地消息去重过滤后,PC端针对共享消息Cl和共享消息c2输出阅读提醒信息,若PC端的用户C阅读了共享消息Cl和共享消息c2,PC端则提取T-c2作为第二时间戳,并生成一个已读标记dl,在该已读标记dl中携带T-c2 ;PC端将该已读标记dl上报至服务器,步骤S306中,服务器将该已读标记dl同步至除上报已读标记dl的PC端之外的其他客户端,服务器及同步的其他客户端可根据该已读标记dl中携带的T-c2,获知时间戳小于等于T-c2的所有未读共享消息均已被阅读,本例中即可获知时间戳T-cl所对应的共享消息Cl及时间戳T-c2所对应的共享消息c2均已被阅读。
[0081]S307,所述服务器从所述第一通信账号对应的未读消息列表中查找未读标记中携带的第一时间戳小于等于所述已读标记中携带的第二时间戳的共享消息。
[0082]S308,所述服务器将查找到的所述共享消息从所述第一通信账号对应的未读消息列表中删除。
[0083]依上述例子,若PC端上报已读标记dl至服务器,该已读标记dl中携带时间戳T-c2,由于服务器根据PC端上报的已读标记dl中携带的时间戳T-c2,获知时间戳小于等于T-c2的所有未读共享消息均已被阅读,步骤S307-S308中,服务器可在通信账号C对应的未读消息列表中查找到携带的T-cl小于T-c2的未读标记Cl,并进一步查找到共享消息Cl ;以及查找到携带的T-c2的未读标记C2,并进一步查找到共享消息c2。服务器从通信账号C对应的未读消息列表中删除查找到的共享消息Cl和共享消息c2,则通信账号A再次登录至少一个客户端之后,服务器则不再向该登录的客户端下发共享消息Cl和c2。通过步骤S307-S308,可使所述第一通信账号对应的未读消息列表所包含的内容能够得到及时更新,保证下一次消息同步的准确性。
[0084]本发明实施例中,第一通信账号在至少一个客户端登录后,服务器获取所述第一通信账号对应的设有未读标记的共享消息发送至所述至少一个客户端中的每个客户端;通过服务器向各客户端下发相同的未读消息,可保证同一通信账号登录的各客户端之间的消息同步。另外,若接收到所述至少一个客户端中的任一客户端阅读所述设有未读标记的共享消息后上报的已读标记,所述服务器将所述已读标记同步至所述至少一个客户端中的每个客户端;已读标记可保证各个客户端之间的消息的阅读状态同步,一定程度上避免了相同消息在各个客户端进行重复的未读提醒的问题,提升了客户端的智能性,提升了用户的消息阅读体验。
[0085]请参见图4,为本发明实施例提供的另一种消息同步方法的流程图;本实施例从服务器侧阐述消息同步方法的流程;该方法可包括以下步骤S401-步骤S406。
[0086]S401,第一通信账号在至少一个客户端登录后,若检测到第二通信账号发送至所述第一通信账号的共享消息,所述服务器为所述共享消息设置未读标记。
[0087]S402,所述服务器将所述设有未读标记的共享消息存储至所述第一通信账号对应的未读消息列表中。
[0088]S403,所述服务器将所述设有未读标记的共享消息发送所述至少一个客户端中的每个客户端。
[0089]本实施例的步骤 S402与步骤S403在时序上可不分先后,即也可以先执行步骤S403,再执行步骤S402 ;或者同时执行步骤S402和步骤S403。
[0090]S404,若接收到所述至少一个客户端中的任一客户端阅读所述设有未读标记的共享消息后上报的已读标记,所述服务器将所述已读标记同步至所述至少一个客户端中除上报所述已读标记的客户端之外的每个客户端。
[0091]S405,所述服务器从所述第一通信账号对应的未读消息列表中查找未读标记中携带的第一 ID与所述已读标记中携带的第二 ID相同的共享消息。
[0092]S406,所述服务器将查找到的所述共享消息从所述第一通信账号对应的未读消息列表中删除。
[0093]本实施例的步骤S404-S406可参见图2所示的步骤S206-S208,在此不赘述。
[0094]图4所示实施例与图2所示实施例的区别在于:图2所示实施例中,在第一通信账号在至少一个客户端登录之前产生的所述第一通信账号对应的未读消息,服务器从所述第一通信账号的未读消息列表中读取所述第一通信账号对应的未读消息,并同步到所述第一通信账号登录的所述至少一个客户端。图4所示实施例中,在第一通信账号在至少一个客户端登录之后产生的所述第一通信账号对应的未读消息,服务器在对该未读消息设置未读标记之后,直接同步到所述第一通信账号登录的所述至少一个客户端。
[0095]本发明实施例中,第一通信账号在至少一个客户端登录后,服务器获取所述第一通信账号对应的设有未读标记的共享消息发送至所述至少一个客户端中的每个客户端;通过服务器向各客户端下发相同的未读消息,可保证同一通信账号登录的各客户端之间的消息同步。另外,若接收到所述至少一个客户端中的任一客户端阅读所述设有未读标记的共享消息后上报的已读标记,所述服务器将所述已读标记同步至所述至少一个客户端中的每个客户端;已读标记可保证各个客户端之间的消息的阅读状态同步,一定程度上避免了相同消息在各个客户端进行重复的未读提醒的问题,提升了客户端的智能性,提升了用户的消息阅读体验。
[0096]请参见图5,为本发明实施例提供的又一种消息同步方法的流程图;本实施例从服务器侧阐述消息同步方法的流程;该方法可包括以下步骤S501-步骤S506。
[0097]S501,第一通信账号在至少一个客户端登录后,若检测到第二通信账号发送至所述第一通信账号的共享消息,所述服务器为所述共享消息设置未读标记。
[0098]S502,所述服务器将所述设有未读标记的共享消息存储至所述第一通信账号对应的未读消息列表中。
[0099]S503,所述服务器将所述设有未读标记的共享消息发送所述至少一个客户端中的每个客户端。
[0100]本实施例的步骤S502与步骤S503在时序上可不分先后,即也可以先执行步骤S503,再执行步骤S502 ;或者同时执行步骤S502和步骤S503。
[0101]S504,若接收到所述至少一个客户端中的任一客户端阅读所述设有未读标记的共享消息后上报的已读标记,所述服务器将所述已读标记同步至所述至少一个客户端中除上报所述已读标记的客户端之外的每个客户端。
[0102]S505,所述服务器从所述第一通信账号对应的未读消息列表中查找未读标记中携带的第一时间戳小于 等于所述已读标记中携带的第二时间戳的共享消息。
[0103]S506,所述服务器将查找到的所述共享消息从所述第一通信账号对应的未读消息列表中删除。
[0104]本实施例的步骤S504-S506可参见图3所示的步骤S306-S308,在此不赘述。
[0105]图5所示实施例与图3所示实施例的区别在于:图3所示实施例中,在第一通信账号在至少一个客户端登录之前产生的所述第一通信账号对应的未读消息,服务器从所述第一通信账号的未读消息列表中读取所述第一通信账号对应的未读消息,并同步到所述第一通信账号登录的所述至少一个客户端。图5所示实施例中,在第一通信账号在至少一个客户端登录之后产生的所述第一通信账号对应的未读消息,服务器在对该未读消息设置未读标记之后,直接同步到所述第一通信账号登录的所述至少一个客户端。
[0106]本发明实施例中,第一通信账号在至少一个客户端登录后,服务器获取所述第一通信账号对应的设有未读标记的共享消息发送至所述至少一个客户端中的每个客户端;通过服务器向各客户端下发相同的未读消息,可保证同一通信账号登录的各客户端之间的消息同步。另外,若接收到所述至少一个客户端中的任一客户端阅读所述设有未读标记的共享消息后上报的已读标记,所述服务器将所述已读标记同步至所述至少一个客户端中的每个客户端;已读标记可保证各个客户端之间的消息的阅读状态同步,一定程度上避免了相同消息在各个客户端进行重复的未读提醒的问题,提升了客户端的智能性,提升了用户的消息阅读体验。
[0107]请参见图6,为本发明实施例提供的又一种消息同步方法的流程图;本实施例从客户端侧阐述消息同步方法的流程,本实施例的客户端可以为通信账号所登录的任一客户端;该方法可包括以下步骤S601-步骤S604。[0108]S601,第一通信账号在客户端登录后,所述客户端接收服务器下发的所述第一通信账号对应的设有未读标记的共享消息。
[0109]本发明实施例中,服务器管理同一通信账号下的所有共享消息,例如:当第一通信账号在PC端的即时通信应用和手机端的即时通信应用进行多点登录后,服务器统一管理该通信账号对应的用户在PC端和手机端使用即时通信应用的所有即时通信消息,包括该通信账号对应的所有已读的即时通信消息和所有未读的即时通信消息。本步骤中,第一通信账号在客户端登录后,该客户端即接收服务器下发的所述第一通信账号对应的设有未读标记的共享消息,即接收服务器下发的所述第一通信账号对应的未读消息。本步骤可以保持第一通信账号已登录的各个客户端之间的消息一致性,实现同一通信账号下的各个登录客户端之间的消息同步。
[0110]S602,所述客户端根据所述设有未读标记的共享消息,输出阅读提醒信息。
[0111]其中,所述阅读提醒信息可用于提醒用户及时读取设有未读标记的共享消息,例如:阅读提醒信息可以为“你有一条未读消息,请查收! ”或“你有3条未读消息,请及时查看! ”等等。可以理解的是,当同一通信账号在多个客户端进行多点登录时,各个客户端可根据各自的提醒机制进行阅读提醒,例如:若用户A在手机端的未读消息提醒机制为“每隔3天提醒”,在PC端的未读消息提醒机制为“登录时提醒”,则通信账号A在手机端和PC端登录后,手机端和PC端按照各自的提醒机制进行未读消息的阅读提醒。 [0112]S603,当检测到用户根据所述阅读提醒信息对所述设有未读标记的共享消息进行阅读操作时,所述客户端生成已读标记。
[0113]S604,所述客户端将所述已读标记上报至所述服务器,以使所述服务器将所述已读标记同步至所述第一通信账号所登录的其他客户端。
[0114]步骤S603-S604中,当检测到用户根据所述阅读提醒信息对所述设有未读标记的共享消息进行阅读操作时,所述客户端生成已读标记,该已读标记表明所述设有未读标记的共享消息已被阅读,该设有未读标记的共享消息的阅读状态已由未读状态变为已读状态。进一步地,该客户端向服务器上报该已读标记,服务器可将接收到的已读标记同步至第一通信账号进行登录的其他客户端,可通知所述其他客户端所述设有未读标记的共享消息的阅读状态已由未读状态变为已读状态,无需再进行阅读提醒,从而可避免针对同一未读消息在各客户端进行重复提醒,提升用户的使用体验。步骤S604可以保持第一通信账号已登录的各个客户端之间的消息的阅读状态的一致性,实现同一通信账号下的各个登录客户端之间的消息的阅读状态的同步。
[0115]本发明实施例中,通信账号在至少一个客户端登录后,客户端接收服务器下发的所述通信账号对应的设有未读标记的共享消息,以保证与该通信账号登录的各客户端之间的消息同步。另外,客户端输出阅读提醒信息,并在检测到用户的阅读操作时,生成已读标记并上报至所述服务器,以使所述服务器将所述已读标记同步至所述通信账号所登录的其他客户端,从而保证各个客户端之间的消息的阅读状态同步,一定程度上避免了相同消息在各个客户端进行重复提醒的问题,提升了客户端的智能性,提升了用户的消息阅读体验。
[0116]请参见图7,为本发明实施例提供的又一种消息同步方法的流程图;本实施例从客户端侧阐述消息同步方法的流程,本实施例的客户端可以为通信账号所登录的任一客户端;该方法可包括以下步骤S701-步骤S705。[0117]S701,第一通信账号在客户端登录后,所述客户端接收服务器下发的所述通信账号对应的设有未读标记的共享消息。
[0118]需要说明的是,所述客户端接收到服务器发送的所述设有未读标记的共享消息之后,可本地进行消息去重过滤处理,删除重复的共享消息,例如:假设通信账号A上次在PC端登录后,所述服务器向PC端下发设有未读标记Al的共享消息al,且上次登录后PC端尚未针对共享消息al输出阅读提醒信息,通信账号A对应的用户A即从PC端退出登录;或者上次登录后虽然PC端针对共享消息al输出阅读提醒信息,但通信账号A对应的用户A并未对共享消息al进行阅读即从PC端退出登录;则上次通信账号A从PC端退出登录后,共享消息al依然属于通信账号A的一条未读消息,且存在于通信账号A对应的未读消息列表中。本步骤中通信账号A在PC端登录后,服务器从通信账号A的未读消息列表中读取未读的共享消息al,并向PC端下发共享消息al,由于共享消息al在通信账号A在上次登录PC端后已经收到过,因此本次接收到共享消息al之后,PC端需要去重处理,删除本次重复接收的共享消息al ;之后,PC端可根据自身的消息提醒机制,针对该未读的共享消息al输出阅读提醒信息,以提醒用户A及时阅读共享消息al。
[0119]S702,所述客户端根据所述设有未读标记的共享消息,输出阅读提醒信息。
[0120]本实施例的步骤S701-S702可参见图6所示实施例的步骤S601-S602,在此不赘述。
[0121]S703,当检测到用户根据所述阅读提醒信息对所述设有未读标记的共享消息进行阅读操作时,所述客户端从所述阅读操作所操作的共享消息的未读标记中读取第一 ID。
[0122]S704,所述客户端将读取的所述第一 ID作为第二 ID,并对所述第二 ID进行封装以生成已读标记。
[0123]本实施例中,步骤S703-S704可以为图6所示实施例的步骤S603的具体细化流程。本实施例中,所述未读标记中携带第一 ID,一个第一 ID可用于唯一标识一条共享消息。所述已读标记中携带第二 ID,一个第二 ID可用于唯一标识一条共享消息。以一个具体例子来说明步骤S703-S704,假设PC端共接收到服务器发送的未读标记Al的共享消息al和设有未读标记A2的共享消息a2共两条设有未读标记的共享消息,其中,未读标记Al携带ID-al用以唯一标识共享消息al ;未读标记A2中携带ID_a2用以唯一标识共享消息a2。经本地消息去重过滤后,PC端针对共享消息al和共享消息a2输出阅读提醒信息,步骤S703-S704中,若PC端的用户A根据阅读提醒信息仅阅读了共享消息a2,PC端则提取ID-a2作为第二 ID,并生成一个已读标记bl,在该已读标记bl中携带ID_a2。
[0124]S705,所述客户端将所述已读标记上报至所述服务器,以使所述服务器将所述已读标记同步至所述第一通信账号所登录的其他客户端。
[0125]本步骤可参见图6所示实施例的步骤S604。依上述例子,PC端将已读标记bl上报至服务器,使服务器将该已读标记bl同步至通信账号A登录的其他客户端,服务器及同步的其他客户端可根据该已读标记bl中携带的ID-a2,获知ID-a2所标识的共享消息a2已被阅读。
[0126]本发明实施例中,通信账号在至少一个客户端登录后,客户端接收服务器下发的所述通信账号对应的设有未读标记的共享消息,以保证与该通信账号登录的各客户端之间的消息同步。另外,客户端输出阅读提醒信息,并在检测到用户的阅读操作时,生成已读标记并上报至所述服务器,以使所述服务器将所述已读标记同步至所述通信账号所登录的其他客户端,从而保证各个客户端之间的消息的阅读状态同步,一定程度上避免了相同消息在各个客户端进行重复提醒的问题,提升了客户端的智能性,提升了用户的消息阅读体验。
[0127]请参见图8,为本发明实施例提供的又一种消息同步方法的流程图;本实施例从客户端侧阐述消息同步方法的流程,本实施例的客户端可以为通信账号所登录的任一客户端;该方法可包括以下步骤S801-步骤S805。
[0128]S801,第一通信账号在客户端登录后,所述客户端接收服务器下发的所述第一通信账号对应的设有未读标记的共享消息。
[0129]S802,所述客户端根据所述设有未读标记的共享消息,输出阅读提醒信息。
[0130]本实施例的步骤S801-S802可参见图7所示实施例的步骤S701-S702,在此不赘述。
[0131]S803,当检测到用户根据所述阅读提醒信息对所述设有未读标记的共享消息进行阅读操作时,所述客户端从所述阅读操作所操作的所有共享消息的未读标记中读取第一时间戳的最大值。
[0132]S804,所述客户端将读取的所述第一时间戳的最大值确定为第二时间戳,并对所述第二时间戳进行封装以生成已读标记。
[0133]本实施例中,步骤S803-S804可以为图6所示实施例的步骤S803的具体细化流程。本实施例中,所述未读标记中携带第一 ID和第一时间戳,一个第一 ID用于唯一标识一条共享消息,一个第一时间戳用于表示一条共享消息的产生时间。所述已读标记中携带第二时间戳,一个第二时间戳可用于标识一条共享消息的产生时间。以一个具体例子来说明步骤S803-S804,通信账号A在PC端登录后,假设PC端接收到服务器下发的未读标记Cl的共孚消息cl和设有未读标记C2的共孚消息c2共两条设有未读标记的共孚消息,其中,未读标记Cl携带ID-cl和T-cl,未读标记C2中携带ID-c2和T_c2,且T_cl的值小于T-c2 。经本地消息去重过滤后,PC端针对共享消息Cl和共享消息c2输出阅读提醒信息,步骤S803-S804中,若PC端的用户C阅读了共享消息cl和共享消息c2,PC端则提取T_c2作为第二时间戳,并生成一个已读标记dl,在该已读标记dl中携带T-c2。
[0134]S805,所述客户端将所述已读标记上报至所述服务器,以使所述服务器将所述已读标记同步至所述第一通信账号所登录的其他客户端。
[0135]本步骤可参见图6所示实施例的步骤S604。依上述例子,PC端将该已读标记dl上报至服务器,使服务器将该已读标记dl同步至通信账号A登录的其他客户端,服务器及同步的其他客户端可根据该已读标记dl中携带的T-c2,获知时间戳小于等于T-c2的所有未读共享消息均已被阅读,本例中即可即可获知时间戳T-cl所对应的共享消息Cl及时间戳T-c2所对应的共享消息c2均已被阅读。
[0136]本发明实施例中,通信账号在至少一个客户端登录后,客户端接收服务器下发的所述通信账号对应的设有未读标记的共享消息,以保证与该通信账号登录的各客户端之间的消息同步。另外,客户端输出阅读提醒信息,并在检测到用户的阅读操作时,生成已读标记并上报至所述服务器,以使所述服务器将所述已读标记同步至所述通信账号所登录的其他客户端,从而保证各个客户端之间的消息的阅读状态同步,一定程度上避免了相同消息在各个客户端进行重复提醒的问题,提升了客户端的智能性,提升了用户的消息阅读体验。[0137]下面将结合附图9-附图12,对本发明实施例提供的服务器的结构进行详细介绍。需要说明的是,下述的服务器可以应用于上述方法中。
[0138]请参见图9,为本发明实施例提供的一种服务器的结构示意图;该服务器可包括:获取模块101、共享模块102和同步模块103。
[0139]获取模块101,用于在第一通信账号在至少一个客户端登录后,获取所述第一通信账号对应的设有未读标记的共享消息。
[0140]其中,第一通信账号在客户端登录可以包括第一通信账号在客户端的即时通信应用登录,则所述第一通信账号为所述即时通信应用中的任一即时通信账号;或者,第一通信账号在客户端登录也可以包括第一通信账号在客户端的浏览器应用登录,则所述第一通信账号为所述浏览器应用中的任一通信账号;或者,第一通信账号在客户端登录也可以包括第一通信账号在客户端的SNS应用登录,则所述第一通信账号为所述SNS应用中的任一个SNS通信账号。一个通信账号可以在一个客户端中进行单点登录,例如:通信账号A可在PC端的即时通信应用登录,则该通信账号A对应的用户A可在PC端使用即时通信应用与其他用户进行信息交流。一个通信账号也可以在多个客户端中进行多点登录,例如:通信账号A既可以在PC端的即时通信应用登录,又可以在手机端的即时通信应用登录,则通信账号A对应的用户A可在PC端和手机端使用即时通信应用与其他用户进行信息交流。 [0141]本发明实施例中,服务器管理同一通信账号下的所有共享消息,例如:当第一通信账号在PC端的即时通信应用和手机端的即时通信应用进行多点登录后,服务器统一管理该通信账号对应的用户在PC端和手机端使用即时通信应用的所有即时通信消息,包括该通信账号对应的所有已读的即时通信消息和所有未读的即时通信消息。第一通信账号在至少一个客户端登录后,所述获取模块101获取所述第一通信账号对应的设有未读标记的共享消息,即获取所述第一通信账号对应的未读消息。
[0142]共享模块102,用于将所述设有未读标记的共享消息发送至所述至少一个客户端中的每个客户端。
[0143]所述共享模块102所述服务器将所述设有未读标记的共享消息发送至所述至少一个客户端中的每个客户端,可使得所述至少一个客户端中的任一客户端能够根据所述设有未读标记的共享消息输出阅读提醒,以提醒用户及时读取该设有未读标记的共享消息。所述共享模块102可以保持第一通信账号已登录的各个客户端之间的消息一致性,实现同一通信账号下的各个登录客户端之间的消息同步。
[0144]同步模块103,用于在接收到所述至少一个客户端中的任一客户端阅读所述设有未读标记的共享消息后上报的已读标记时,将所述已读标记同步至所述至少一个客户端中除上报所述已读标记的客户端之外的每个客户端。
[0145]如果接收到所述至少一个客户端中的任一客户端阅读所述设有未读标记的共享消息后上报的已读标记,则表明所述设有未读标记的共享消息已在上报的客户端中被阅读,该设有未读标记的共享消息的阅读状态已由未读状态变为已读状态。进一步地,所述同步模块103将接收到的已读标记同步至所述至少一个客户端中除上报所述已读标记的客户端之外的每个客户端,可通知所述至少一个客户端中除上报所述已读标记的客户端之外的每个客户端所述设有未读标记的共享消息的阅读状态已由未读状态变为已读状态,无需再进行阅读提醒,从而可避免针对同一未读消息在各客户端进行重复提醒,提升用户的使用体验。本步骤可以保持第一通信账号已登录的各个客户端之间的消息的阅读状态的一致性,实现同一通信账号下的各个登录客户端之间的消息的阅读状态的同步。
[0146]本发明实施例中,第一通信账号在至少一个客户端登录后,服务器获取所述第一通信账号对应的设有未读标记的共享消息发送至所述至少一个客户端中的每个客户端;通过服务器向各客户端下发相同的未读消息,可保证同一通信账号登录的各客户端之间的消息同步。另外,若接收到所述至少一个客户端中的任一客户端阅读所述设有未读标记的共享消息后上报的已读标记,所述服务器将所述已读标记同步至所述至少一个客户端中的每个客户端;已读标记可保证各个客户端之间的消息的阅读状态同步,一定程度上避免了相同消息在各个客户端进行重复的未读提醒的问题,提升了客户端的智能性,提升了用户的消息阅读体验。
[0147]请参见图10,为本发明实施例提供的另一种服务器的结构示意图;该服务器可包括:获取模块101、共享模块102、同步模块103、第一标记设置模块104、第一存储模块105、查找模块106和列表更新模块107。其中,获取模块101、共享模块102和同步模块103的结构可参见图9所示实施例的相关描述,在此不赘述。
[0148]第一标记设置模块104,用于在第一通信账号在至少一个客户端登录之前,若检测到第二通信账号发送至所述第一通信账号的共享消息,为所述共享消息设置未读标记。
[0149]第一通信账号在客户端登录可以包括第一通信账号在客户端的即时通信应用登录,则所述第一通信账号为所述即时通信应用中的任一即时通信账号,所述第二通信账号为所述即时通信应用中除所述第一通信账号之外的任一即时通信账号;或者,第一通信账号在客户端登录也可以包括第一通信账号在客户端的浏览器应用登录,则所述第一通信账号为所述浏览器应用中的任一通信账号,所述第二通信账号为所述浏览器应用中除所述第一通信账号之外的任一通 信账号;或者,第一通信账号在客户端登录也可以包括第一通信账号在客户端的SNS应用登录,则所述第一通信账号为所述SNS应用中的任一个SNS通信账号,所述第二通信账号为所述SNS应用中除所述第一通信账号之外的任一 SNS通信账号。
[0150]其中,所述未读标记中携带第一 ID (Identity,标识号码),一个第一 ID可用于唯一标识一条共享消息。所述第一标记设置模块104为所述第二通信账号发送的共享消息设置未读标记后,即表明该共享消息为所述第一通信账号对应的未读消息;例如:通信账号A在任一个客户端的即时通信应用登录之前,如果所述第一标记设置模块104检测到通信账号B对应的用户B通过任一终端(例如:PC端、手机或平板电脑等终端)发送给通信账号A的共享消息al,所述第一标记设置模块104则为共享消息al分配第一 ID (如:采用ID_al表示),并为共享消息al设置未读标记Al,并在未读标记Al中携带该ID-al,共享消息al则为通信账号A对应的一条未读消息。
[0151]第一存储模块105,用于将所述第一标记设置模块设置后的所述设有未读标记的共享消息存储至所述第一通信账号对应的未读消息列表。
[0152]本发明实施例中,所述第一存储模块105可以列表的形式存储通信账号对应的未读消息,形成该通信账号对应的未读消息列表。根据上述例子,假设通信账号A共存在两条未读消息,包括:设有未读标记Al的共享消息al及设有未读标记A2的共享消息a2 ;则所述第一存储模块105将该两条未读消息存储至所述通信账号A对应的未读消息列表中。
[0153]查找模块106,用于在接收到所述至少一个客户端中的任一客户端阅读所述设有未读标记的共享消息后上报的已读标记之后,从所述第一通信账号对应的未读消息列表中查找未读标记中携带的第一 ID与所述已读标记中携带的第二 ID相同的共享消息,或者,从所述第一通信账号对应的未读消息列表中查找未读标记中携带的第一时间戳小于等于所述已读标记中携带的第二时间戳的共享消息。
[0154]列表更新模块107,用于将查找到的所述共享消息从所述第一通信账号对应的未读消息列表中删除。
[0155]所述列表更新模块108可使所述第一通信账号对应的未读消息列表所包含的内容能够得到及时更新,保证下一次消息同步的准确性。
[0156]本发明实施例中,第一通信账号在至少一个客户端登录后,服务器获取所述第一通信账号对应的设有未读标记的共享消息发送至所述至少一个客户端中的每个客户端;通过服务器向各客户端下发相同的未读消息,可保证同一通信账号登录的各客户端之间的消息同步。另外,若接收到所述至少一个客户端中的任一客户端阅读所述设有未读标记的共享消息后上报的已读标记,所述服务器将所述已读标记同步至所述至少一个客户端中的每个客户端;已读标记可保证各个客户端之间的消息的阅读状态同步,一定程度上避免了相同消息在各个客户端进行重复的未读提醒的问题,提升了客户端的智能性,提升了用户的消息阅读体验。
[0157]请参见图11,为本发明实施例提供的又一种服务器的结构示意图;该服务器可包括:获取模块101、共享模块102、同步模块103、第二标记设置模块108、第二存储模块109、发送模块110、查找模块106和列表更新模块107。其中,获取模块101、共享模块102、同步模块103、查找模块106和列表更新模块107的结构可参见图10所示实施例的相关描述,在此不赘述。
[0158]第二标记设置模块108,用于在第一通信账号在至少一个客户端登录之后,若检测到第二通信账号发送至所述第一通信账号的共享消息,为所述共享消息设置未读标记。
[0159]第二存储模块109,用于将所述第二标记设置模块设置后的所述设有未读标记的共享消息存储至所述第一通信账号对应的未读消息列表。
[0160]发送模块110,用于将所述第二标记设置模块设置后的所述设有未读标记的共享消息发送所述至少一个客户端中的每个客户端。
[0161]需要说明的是,所述至少一个客户端中的每个客户端接收到服务器发送的共享消息之后,可本地进行消息去重过滤处理,并可根据自身的消息提醒机制,针对消息去重过滤处理后的设有未读标记的共享消息输出阅读提醒信息。
[0162]本发明实施例中,第一通信账号在至少一个客户端登录后,服务器获取所述第一通信账号对应的设有未读标记的共享消息发送至所述至少一个客户端中的每个客户端;通过服务器向各客户端下发相同的未读消息,可保证同一通信账号登录的各客户端之间的消息同步。另外,若接收到所述至少一个客户端中的任一客户端阅读所述设有未读标记的共享消息后上报的已读标记,所述服务器将所述已读标记同步至所述至少一个客户端中的每个客户端;已读标记可保证各个客户端之间的消息的阅读状态同步,一定程度上避免了相同消息在各个客户端进行重复的未读提醒的问题,提升了客户端的智能性,提升了用户的消息阅读体验。
[0163]请参见图12,为本发明实施例提供的服务器的读取模块的结构示意图;该获取模块101可包括:查询单元1101和读取单元1102。
[0164]查询单元1101,用于在第一通信账号在至少一个客户端登录后,根据所述通信账号,查询所述第一通信账号对应的未读消息列表。
[0165]读取单元1102,用于从所述第一通信账号对应的未读消息列表中读取设有未读标记的共享消息。
[0166]由于服务器可以未读消息列表的方式存储所述第一通信账号对应的所有未读消息,当所述第一通信账号在至少一个客户端登录后,所述查询单元1101可根据该第一通信账号,查询该第一通信账号对应的未读消息列表,所述读取单元1102从该未读消息列表中读取设有未读标记的共享消息。
[0167]需要说明的是,图9-图12所示实施例的服务器的结构与功能可参见图1-图5所示实施例中的方法具体实现,该具体实现过程可参见上述方法实施例的相关描述,在此不赘述。
[0168]本发明实施例中,第一通信账号在至少一个客户端登录后,服务器获取所述第一通信账号对应的设有未读标记的共享消息发送至所述至少一个客户端中的每个客户端;通过服务器向各客户端下发相同的未读消息,可保证同一通信账号登录的各客户端之间的消息同步。另外,若接收到所述至少一个客户端中的任一客户端阅读所述设有未读标记的共享消息后上报的已读标记,所述服务器将所述已读标记同步至所述至少一个客户端中的每个客户端;已读标记可保证各个客户端之间的消息的阅读状态同步,一定程度上避免了相同消息在各个客户端进行重复的未读提醒的问题,提升了客户端的智能性,提升了用户的消息阅读体验。
[0169]下面将结合附图13-附图15,对本发明实施例提供的客户端的结构进行详细介绍。需要说明的是,下述的客户端可以为通信账号所登录的任一客户端,且下述的客户端可以应用于上述方法中。
[0170]请参见图13,为本发明实施例提供的一种客户端的结构示意图;该客户端可包括:消息接收模块201、提醒模块202、标记模块203和同步模块204。
[0171]消息接收模块201,用于在第一通信账号在所述客户端登录后,接收服务器下发的所述第一通信账号对应的设有未读标记的共享消息。
[0172]本发明实施例中,服务器管理同一通信账号下的所有共享消息,例如:当第一通信账号在PC端的即时通信应用和手机端的即时通信应用进行多点登录后,服务器统一管理该通信账号对应的用户在PC端和手机端使用即时通信应用的所有即时通信消息,包括该通信账号对应的所有已读的即时通信消息和所有未读的即时通信消息。第一通信账号在客户端登录后,所述客户端中的消息接收模块201即接收服务器下发的所述第一通信账号对应的设有未读标记的共享消息,即接收服务器下发的所述第一通信账号对应的未读消息。所述消息接收模块201可以保持第一通信账号已登录的各个客户端之间的消息一致性,实现同一通信账号下的各个登录客户端之间的消息同步。
[0173]提醒模块202,用于根据所述设有未读标记的共享消息,输出阅读提醒信息。
[0174]其中,所述阅读提醒信息可用于提醒用户及时读取设有未读标记的共享消息,例如:阅读提醒信息可以为“你有一条未读消息,请查收! ”或“你有3条未读消息,请及时查看! ”等等。可以理解的是,当同一通信账号在多个客户端进行多点登录时,各个客户端可根据各自的提醒机制进行阅读提醒,例如:若用户A在手机端的未读消息提醒机制为“每隔3天提醒”,在PC端的未读消息提醒机制为“登录时提醒”,则通信账号A在手机端和PC端登录后,手机端和PC端按照各自的提醒机制进行未读消息的阅读提醒。
[0175]标记模块203,用于当检测到用户根据所述阅读提醒信息对所述设有未读标记的共享消息进行阅读操作时,生成已读标记。
[0176]当检测到用户根据所述阅读提醒信息对所述设有未读标记的共享消息进行阅读操作时,所述标记模块203生成已读标记,该已读标记表明所述设有未读标记的共享消息已被阅读,该设有未读标记的共享消息的阅读状态已由未读状态变为已读状态。
[0177]同步模块204,用于将所述已读标记上报至所述服务器,以使所述服务器将所述已读标记同步至所述第一通信账号所登录的其他客户端。
[0178]所述同步模块204向服务器上报该已读标记,服务器可将接收到的已读标记同步至所述第一通信账号登录的其他客户端,可通知所述其他客户端所述设有未读标记的共享消息的阅读状态已由未读状态变为已读状态,无需再进行阅读提醒,从而可避免针对同一未读消息在各客户端进行重复提醒,提升用户的使用体验。所述同步模块204可以保持第一通信账号已登录的各个客户端之间的消息的阅读状态的一致性,实现同一通信账号下的各个登录客户端之间的消息的阅读状态的同步。
[0179]本发明实施例中,第一通信账号在至少一个客户端登录后,客户端接收服务器下发的所述第一通信账号对应的设有未读标记的共享消息,以保证与该第一通信账号登录的各客户端之间的消息同步。另外,客户端输出阅读提醒信息,并在检测到用户的阅读操作时,生成已读标记并上报至所述服务器,以使所述服务器将所述已读标记同步至所述第一通信账号所登录的其他客户端,从而保证各个客户端之间的消息的阅读状态同步,一定程度上避免了相同消息在各个客户端进行重复提醒的问题,提升了客户端的智能性,提升了用户的消息阅读体验。
[0180]请参见图14,为本发明实施例提供的客户端的标记模块的一个实施例的结构示意图;该标记模块203可包括:ID读取单元2301和第一标记生成单元2302。
[0181]ID读取单元2301,用于当检测到用户根据所述阅读提醒信息对所述设有未读标记的共享消息进行阅读操作时,从所述阅读操作所操作的共享消息的未读标记中读取第一ID0
[0182]第一标记生成单元2302,用于将读取的所述第一 ID作为第二 ID,并对所述第二 ID进行封装以生成已读标记。
[0183]本实施例中,所述未读标记中携带第一 ID,一个第一 ID可用于唯一标识一条共享消息。所述已读标记中携带第二 ID,一个第二 ID可用于唯一标识一条共享消息。以一个具体例子来说明,假设PC端共接收到服务器发送的未读标记Al的共享消息al和设有未读标记A2的共享消息a2共两条设有未读标记的共享消息,其中,未读标记Al携带ID_al用以唯一标识共享消息al ;未读标记A2中携带ID_a2用以唯一标识共享消息a2。经本地消息去重过滤后,PC端针对共享消息al和共享消息a2输出阅读提醒信息,若PC端的用户A根据阅读提醒信息仅阅读了共享消息a2,所述PC端的ID读取单元2301则提取ID_a2。所述PC端的第一标记生成单元2302将ID-a2作为第二 ID,并生成一个已读标记bl,在该已读标记bl中携带ID_a2。[0184]本发明实施例中,第一通信账号在至少一个客户端登录后,客户端接收服务器下发的所述第一通信账号对应的设有未读标记的共享消息,以保证与该第一通信账号登录的各客户端之间的消息同步。另外,客户端输出阅读提醒信息,并在检测到用户的阅读操作时,生成已读标记并上报至所述服务器,以使所述服务器将所述已读标记同步至所述第一通信账号所登录的其他客户端,从而保证各个客户端之间的消息的阅读状态同步,一定程度上避免了相同消息在各个客户端进行重复提醒的问题,提升了客户端的智能性,提升了用户的消息阅读体验。
[0185]请参见图15,为本发明实施例提供的客户端的标记模块的另一个实施例的结构示意图;该标记模块203可包括:时间读取单元2311和第二标记生成单元2312。
[0186]时间读取单元2311,用于当检测到用户根据所述阅读提醒信息对所述设有未读标记的共享消息进行阅读操作时,从所述阅读操作所操作的所有共享消息的未读标记中读取第一时间戳的最大值。
[0187]第二标记生成单元2312,用于将读取的所述第一时间戳的最大值确定为第二时间戳,并对所述第二时间戳进行封装以生成已读标记。
[0188]本实施例中,所述未读标记中携带第一 ID和第一时间戳,一个第一 ID用于唯一标识一条共享消息,一个第一时间戳用于表示一条共享消息的产生时间。所述已读标记中携带第二时间戳,一个第二时间戳可用于标识一条共享消息的产生时间。以一个具体例子来说明,通信账号A在PC端登录后,假设PC端接收到服务器下发的未读标记Cl的共享消息Cl和设有未读标记C2的共享消息c2共两条设有未读标记的共享消息,其中,未读标记Cl携带ID-cl和T-c I,未读标记C2中携带ID-c2和T_c2,且T_cl的值小于T_c2。经本地消息去重过滤后,PC端针对共享消息Cl和共享消息c2输出阅读提醒信息,若PC端的用户C阅读了共享消息Cl和共享消息c2,所述PC端的时间提取单元2311则提取T-c2。所述PC端的第二标记生成单元2312则将T-c2作为第二时间戳,并生成一个已读标记dl,在该已读标记dl中携带T_c2。
[0189] 需要说明的是,图13-图15所示的客户端的结构和功能可通过上述图6-图8所示实施例的方法具体实现,该具体实现过程可参见上述方法实施例的相关描述,在此不赘述。
[0190]本发明实施例中,第一通信账号在至少一个客户端登录后,客户端接收服务器下发的所述第一通信账号对应的设有未读标记的共享消息,以保证与该第一通信账号登录的各客户端之间的消息同步。另外,客户端输出阅读提醒信息,并在检测到用户的阅读操作时,生成已读标记并上报至所述服务器,以使所述服务器将所述已读标记同步至所述第一通信账号所登录的其他客户端,从而保证各个客户端之间的消息的阅读状态同步,一定程度上避免了相同消息在各个客户端进行重复提醒的问题,提升了客户端的智能性,提升了用户的消息阅读体验。
[0191]本发明实施例公开了一种消息同步系统,该系统可包括图9-图12所示实施例的服务器,以及至少一个图13-图15所示实施例的客户端。该服务器与客户端的结构可参见上述实施例的相关描述,在此不赘述。
[0192]本发明实施例中,第一通信账号在至少一个客户端登录后,服务器获取所述第一通信账号对应的设有未读标记的共享消息发送至所述至少一个客户端中的每个客户端;通过服务器向各客户端下发相同的未读消息,可保证同一通信账号登录的各客户端之间的消息同步。另外,若接收到所述至少一个客户端中的任一客户端阅读所述设有未读标记的共享消息后上报的已读标记,所述服务器将所述已读标记同步至所述至少一个客户端中的每个客户端;已读标记可保证各个客户端之间的消息的阅读状态同步,一定程度上避免了相同消息在各个客户端进行重复的未读提醒的问题,提升了客户端的智能性,提升了用户的消息阅读体验。
[0193]本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory, ROM)或随机存储记忆体(Random AccessMemory, RAM)等。
[0194]以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
【权利要求】
1.一种消息同步方法,其特征在于,包括: 第一通信账号在至少一个客户端登录后,服务器获取所述第一通信账号对应的设有未读标记的共享消息; 所述服务器将所述设有未读标记的共享消息发送至所述至少一个客户端中的每个客户端; 若接收到所述至少一个客户端中的任一客户端阅读所述设有未读标记的共享消息后上报的已读标记,所述服务器将所述已读标记同步至所述至少一个客户端中除上报所述已读标记的客户端之外的每个客户端。
2.如权利要求1所述的方法,其特征在于,所述第一通信账号在至少一个客户端登录之前,还包括: 若检测到第二通信账号发送至第一通信账号的共享消息,所述服务器为所述共享消息设置未读标记; 所述服务器将所述设有未读标记的共享消息存储至所述第一通信账号对应的未读消息列表中。
3.如权利要求1所述的方法,其特征在于,所述第一通信账号在至少一个客户端登录之后,还包括: 若检测到第二通信账号发送至所述第一通信账号的共享消息,所述服务器为所述共享消息设置未读标记; 所述服务器将所述设有未读标记的共享消息存储至所述第一通信账号对应的未读消息列表中; 所述服务器将所述设有未读标记的共享消息发送所述至少一个客户端中的每个客户端。
4.如权利要求2或3所述的方法,其特征在于,所述服务器获取所述通信账号对应的设有未读标记的共享消息,包括: 所述服务器根据所述第一通信账号,查询所述第一通信账号对应的未读消息列表; 所述服务器从所述第一通信账号对应的未读消息列表中读取设有未读标记的共享消肩、O
5.如权利要求4所述的方法,其特征在于,在接收到所述至少一个客户端中的任一客户端阅读所述设有未读标记的共享消息后上报的已读标记之后,还包括: 所述服务器从所述第一通信账号对应的未读消息列表中查找未读标记中携带的第一标识号码ID与所述已读标记中携带的第二 ID相同的共享消息; 所述服务器将查找到的所述共享消息从所述第一通信账号对应的未读消息列表中删除; 其中,所述未读标记中携带第一 ID,所述已读标记中携带第二 ID。
6.如权利要求4所述的方法,其特征在于,在接收到所述至少一个客户端中的任一客户端阅读所述设有未读标记的共享消息后上报的已读标记之后,还包括: 所述服务器从所述第一通信账号对应的未读消息列表中查找未读标记中携带的第一时间戳小于等于所述已读标记中携带的第二时间戳的共享消息; 所述服务器将查找到的所述共享消息从所述第一通信账号对应的未读消息列表中删除; 其中,所述未读标记中携带第一 ID和第一时间戳,所述已读标记中携带第二时间戳。
7.一种消息同步方法,其特征在于,包括: 第一通信账号在客户端登录后,所述客户端接收服务器下发的所述第一通信账号对应的设有未读标记的共享消息; 所述客户端根据所述设有未读标记的共享消息,输出阅读提醒信息; 当检测到用户根据所述阅读提醒信息对所述设有未读标记的共享消息进行阅读操作时,所述客户端生成已读标记,并将所述已读标记上报至所述服务器,以使所述服务器将所述已读标记同步至所述第一通信账号所登录的其他客户端。
8.如权利要求7所述的方法,其特征在于,当检测到用户根据所述阅读提醒信息对所述设有未读标记的共享消息进行阅读操作时,所述客户端生成已读标记,包括: 当检测到用户根据所述阅读提醒信息对所述设有未读标记的共享消息进行阅读操作时,所述客户端从所述阅读操作所操作的共享消息的未读标记中读取第一 ID ; 所述客户端将读取的所述第一 ID作为第二 ID,并对所述第二 ID进行封装以生成已读标记; 其中,所述未读标记中携带第一标识号码ID,所述已读标记中携带第二 ID。
9.如权利要求7所述的方法,其特征在于,当检测到用户根据所述阅读提醒信息对所述设有未读标记的共享消息进行阅读操作时,所述客户端生成已读标记,包括: 当检测到用户根据所述阅读提醒信息对所述设有未读标记的共享消息进行阅读操作时,所述客户端从所述阅读操作所操作的所有共享消息的未读标记中读取第一时间戳的最大值; 所述客户端将读取的所述第一时间戳的最大值确定为第二时间戳,并对所述第二时间戳进行封装以生成已读标记; 其中,所述未读标记中携带第一 ID和第一时间戳,所述已读标记中携带第二时间戳。
10.一种服务器,其特征在于,包括: 获取模块,用于在第一通信账号在至少一个客户端登录后,获取所述第一通信账号对应的设有未读标记的共享消息; 共享模块,用于将所述设有未读标记的共享消息发送至所述至少一个客户端中的每个客户端; 同步模块,用于在接收到所述至少一个客户端中的任一客户端阅读所述设有未读标记的共享消息后上报的已读标记时,将所述已读标记同步至所述至少一个客户端中除上报所述已读标记的客户端之外的每个客户端。
11.如权利要求10所述的服务器,其特征在于,还包括: 第一标记设置模块,用于在第一通信账号在至少一个客户端登录之前,若检测到第二通信账号发送至所述第一通信账号的共享消息,为所述共享消息设置未读标记; 第一存储模块,用于将所述第一标记设置模块设置后的所述设有未读标记的共享消息存储至所述第一通信账号对应的未读消息列表。
12.如权利要求10所述的服务器,其特征在于,还包括: 第二标记设置模块,用于在第一通信账号在至少一个客户端登录之后,若检测到第二通信账号发送至所述第一通信账号的共享消息,为所述共享消息设置未读标记; 第二存储模块,用于将所述第二标记设置模块设置后的所述设有未读标记的共享消息存储至所述第一通信账号对应的未读消息列表; 发送模块,用于将所述第二标记设置模块设置后的所述设有未读标记的共享消息发送所述至少一个客户端中的每个客户端。
13.如权利要求11或12所述的服务器,其特征在于,所述获取模块包括: 查询单元,用于在第一通信账号在至少一个客户端登录后,根据所述第一通信账号,查询所述第一通信账号对应的未读消息列表; 读取单元,用于从所述第一通信账号对应的未读消息列表中读取设有未读标记的共享消息。
14.如权利要求13所述的服务器,其特征在于,还包括: 查找模块,用于在接收到所述至少一个客户端中的任一客户端阅读所述设有未读标记的共享消息后上报的已读标记之后,从所述第一通信账号对应的未读消息列表中查找未读标记中携带的第一 ID与所述已读标记中携带的第二 ID相同的共享消息,或者,从所述第一通信账号对应的未读消息列表中查找未读标记中携带的第一时间戳小于等于所述已读标记中携带的第二时间戳的共享消息; 列表更新模块,用 于将查找到的所述共享消息从所述第一通信账号对应的未读消息列表中删除; 其中,所述未读标记中携带第一 ID,所述已读标记中携带第二 ID ;或者,所述未读标记中携带第一 ID和第一时间戳,所述已读标记中携带第二时间戳。
15.—种客户端,其特征在于,包括: 消息接收模块,用于在第一通信账号在所述客户端登录后,接收服务器下发的所述第一通信账号对应的设有未读标记的共享消息; 提醒模块,用于根据所述设有未读标记的共享消息,输出阅读提醒信息; 标记模块,用于当检测到用户根据所述阅读提醒信息对所述设有未读标记的共享消息进行阅读操作时,生成已读标记; 同步模块,用于将所述已读标记上报至所述服务器,以使所述服务器将所述已读标记同步至所述第一通信账号所登录的其他客户端。
16.如权利要求15所述的客户端,其特征在于,所述标记模块包括: ID读取单元,用于当检测到用户根据所述阅读提醒信息对所述设有未读标记的共享消息进行阅读操作时,从所述阅读操作所操作的共享消息的未读标记中读取第一 ID ; 第一标记生成单元,用于将读取的所述第一 ID作为第二 ID,并对所述第二 ID进行封装以生成已读标记; 其中,所述未读标记中携带第一 ID,所述已读标记中携带第二 ID。
17.如权利要求15所述的客户端,其特征在于,所述标记模块包括: 时间读取单元,用于当检测到用户根据所述阅读提醒信息对所述设有未读标记的共享消息进行阅读操作时,从所述阅读操作所操作的所有共享消息的未读标记中读取第一时间戳的最大值; 第二标记生成单元,用于将读取的所述第一时间戳的最大值确定为第二时间戳,并对所述第二时间戳进行封装以生成已读标记; 其中,所述未读标记中携带第一 ID和第一时间戳,所述已读标记中携带第二时间戳。
18.一种消息同步系统,其特征在于,包括如权利要求10-14任一项所述的服务器,以及至少一个如 利要求15-17任一项所述的客户端。
【文档编号】H04L12/58GK104022938SQ201310063804
【公开日】2014年9月3日 申请日期:2013年2月28日 优先权日:2013年2月28日
【发明者】李倞婧, 陈志兴, 于长青 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1