一种数据同步方法、装置及服务器的制造方法
【专利摘要】本发明实施例提供一种数据同步方法、装置及服务器,其中的方法可包括:当通信账号对应的第一客户端对所述通信账号的关联数据进行更新操作时,获取所述关联数据的更新信息;查找所述通信账号对应的除所述第一客户端之外,且处于连接态的第二客户端;将所述关联数据的更新信息同步至所述第二客户端,以使所述第二客户端根据所述关联数据的更新信息,显示更新后的所述关联数据。本发明可保证同一通信账号对应的各个客户端之间显示数据的一致性,提升客户端的智能性,提升用户的使用体验。
【专利说明】—种数据同步方法、装置及服务器
【技术领域】
[0001]本发明涉及互联网【技术领域】,具体涉及数据同步【技术领域】,尤其涉及一种数据同步方法、装置及服务器。
【背景技术】
[0002]随着互联网技术的发展,同一通信账号可实现在多个客户端同时操作的情况,例如:同一即时通信账号可同时在手机客户端和?0 (^61-801181 03,111:61',个人计算机)客户端进行登录,并可利用手机客户端和客户端与其他即时通信账号进行信息交互。然而,现有技术中,同一通信账号对应的多个客户端之间的数据无法及时同步,按照上述例子:手机客户端对即时通信账号的关联数据(例如:用户资料数据)进行更新操作时,客户端无法同步显示更新后的即时通信账号的关联数据,从而影响手机客户端与?(:客户端显示数据的一致性,降低了客户端的智能性,影响了用户的使用体验。
【发明内容】
[0003]本发明实施例提供一种数据同步方法、装置及服务器,可保证同一通信账号对应的各个客户端之间显示数据的一致性,提升客户端的智能性,提升用户的使用体验。
[0004]本发明第一方面提供一种数据同步方法,可包括:
[0005]当通信账号对应的第一客户端对所述通信账号的关联数据进行更新操作时,获取所述关联数据的更新信息;
[0006]查找所述通信账号对应的除所述第一客户端之外,且处于连接态的第二客户端;
[0007]将所述关联数据的更新信息同步至所述第二客户端,以使所述第二客户端根据所述关联数据的更新信息,显示更新后的所述关联数据。
[0008]本发明第二方面提供一种数据同步装置,可包括:
[0009]信息获取模块,用于当通信账号对应的第一客户端对所述通信账号的关联数据进行更新操作时,获取所述关联数据的更新信息;
[0010]查找模块,用于查找所述通信账号对应的除所述第一客户端之外,且处于连接态的第二客户端;
[0011]同步模块,用于将所述关联数据的更新信息同步至所述第二客户端,以使所述第二客户端根据所述关联数据的更新信息,显示更新后的所述关联数据。
[0012]本发明第三方面提供一种服务器,可包括上述第二方面提供的数据同步装置。
[0013]实施本发明实施例,具有如下有益效果:
[0014]本发明实施例中,当通信账号对应的第一客户端对所述通信账号的关联数据进行更新操作时,将所述关联数据的更新信息同步至该通信账号对应的除第一客户端之外处于连接态的第二客户端,可以使所述第二客户端同步显示更新后的所述关联数据,保证了第一客户端与第二客户端之间显示数据的一致性,提升了客户端的智能性,从而提升了用户的使用体验。
【专利附图】
【附图说明】
[0015]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0016]图1为本发明实施例提供的一种数据同步方法的流程图;
[0017]图2为本发明实施例提供的另一种数据同步方法的流程图;
[0018]图3为本发明实施例提供的又一种数据同步方法的流程图;
[0019]图4为本发明实施例提供的一种数据同步装置的结构示意图;
[0020]图5为本发明实施例提供的另一种数据同步装置的结构示意图;
[0021]图6为本发明实施例提供的又一种数据同步装置的结构示意图;
[0022]图7为本发明实施例提供的查找模块的结构示意图。
【具体实施方式】
[0023]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0024]本发明实施例中,客户端可以为终端设备,例如(平板电脑?、手机、智能手机、笔记本电脑等设备。客户端也可以为终端设备中的客户端模块,例如:即时通信客户端、8^8 (800181361^1(368,社会性网络服务)客户端等等。通信账号可以为即时通信账号、手机号、6脑11账号等等,用于标识唯一一个通信用户。通信账号对应的客户端指通信账号的登录客户端,即通信账号通过所述通信账号对应的客户端登录至通信系统。
[0025]本发明实施例中,通信账号对应的第一客户端可以为通信账号登录至通信系统所使用的任一个客户端。通信账号对应的第二客户端可以为通信账号登录至通信系统所使用的至少一个客户端中,除第一客户端之外的任一个客户端。客户端处于连接态,表明客户端与数据同步装置保持连接状态,此时客户端对应的用户状态可以表现为在线状态、隐身状态、离开状态;客户端未处于连接态,可以包括退出登录态和休眠态,表明客户端与数据同步装置未保持连接状态,此时客户端对应的用户状态可以表现为离线状态。除特别说明外,本发明后续实施例中,客户端以即时通信客户端为例进行说明。
[0026]下面将结合附图1-附图3,对本发明实施例提供的数据同步方法进行详细介绍。
[0027]请参见图1,为本发明实施例提供的一种数据同步方法的流程图;该方法可包括以下步骤3101-步骤3103。
[0028]3101,当通信账号对应的第一客户端对所述通信账号的关联数据进行更新操作时,获取所述关联数据的更新信息。
[0029]所述通信账号的关联数据可以包括但不限于:所述通信账号对应的用户个人数据和用户关系链数据;例如:即时通信账号的关联数据可以包括但不限于:即时通信用户的昵称、个性签名、加入的即时通信群组的标识等用户个人数据,以及即时通信用户的好友数据、即时通信群组中的好友数据等等。同一通信账号可对应多个客户端,例如:通信账号八既可以对应手机客户端八,又可以对应客户端8,还可以对应?八0客户端0。通信账号对应的用户可以在通信账号对应的任一客户端对通信账号的关联数据进行更新操作,例如:通信账号八对应的用户可通过手机客户端八修改用户昵称等等。本步骤当通信账号对应的第一客户端对所述通信账号的关联数据进行更新操作时,获取通信账号的关联数据的更新信息;其中,所述关联数据的更新信息包括但不限于:所述关联数据的更新时间、对所述关联数据进行更新操作的操作类型和所述关联数据的更新内容。
[0030]8102,查找所述通信账号对应的除所述第一客户端之外,且处于连接态的第二客户端。
[0031]按照步骤3102中的例子,通信账号八对应的第一客户端为手机客户端八,通信账号八还对应客户端8和?八0客户端;其中,?客户端8处于连接态,而执行本步骤之前通信账号八已从?八0客户端退出登录,?八0客户端处于未连接态;本步骤则查找通信账号八对应的客户端8作为第二客户端。
[0032]3103,将所述关联数据的更新信息同步至所述第二客户端,以使所述第二客户端根据所述关联数据的更新信息,显示更新后的所述关联数据。
[0033]本步骤中,所述关联数据的更新信息同步至所述第二客户端之后,所述第二客户端根据所述关联数据的更新信息,显示更新后的所述关联数据,从而可保证第一客户端与第二客户端之间所显示的所述通信账号的关联数据的一致性;按照步骤3101和步骤3102中的例子:手机客户端八对通信账号八的关联数据进行更新操作之后,?0客户端8可同步显示更新后的所述关联数据,从而保证了手机客户端八与?客户端8之间显示数据的一致性。需要说明的是,本步骤中,同步至第二客户端的关联数据的更新信息用于第二客户端进行关联数据的同步显示,而不用于第二客户端本地数据库中关于所述通信账号的关联数据的更新,这是由于同步过程中第二客户端可能由连接态变化为非连接态,例如:通信账号在第二客户端退出登录,或第二客户端处于休眠状态,等等,从而使得第二客户端无法接收完整的更新信息,无法保证第二客户端本地数据库关于所述通信账号的关联数据的更新完整性。
[0034]请参见图2,为本发明实施例提供的另一种数据同步方法的流程图;该方法可包括以下步骤3201-步骤3211。
[0035]3201,当通信账号对应的第一客户端对所述通信账号的关联数据进行更新操作时,获取所述关联数据的更新信息。
[0036]本实施例的步骤3201可参见图1所示实施例的步骤3101,在此不赘述。
[0037]3202,获取所述通信账号的登录列表,所述登录列表中包含所述通信账号对应的至少一个客户端的标识信息。
[0038]本实施例中,服务器维护每个通信账号的登录列表,每个通信账号使用客户端进行登录后,服务器会将登录记录添加至每个通信账号的登录列表中。一条登录记录包含一个客户端的标识信息和登录时间。所述登录列表中包含所述通信账号对应的至少一个客户端的标识信息;一个客户端的标识信息用于唯一标识一个客户端。本步骤中,可以从服务器中获取所述通信账号的登录列表,例如:通信账号八分别通过手机客户端八、?客户端8和?八0客户端进行登录,则本步骤可获取通信账号八的登录列表,该登录列表中包含手机客户端八的标识信息、?0客户端8的标识信息和?八0客户端的标识信息。
[0039]3203,根据所述通信账号对应的至少一个客户端的标识信息,检测所述通信账号对应的至少一个客户端的状态。
[0040]本步骤中,可以检测所述通信账号对应的至少一个客户端是否与服务器保持连接状态,如果某一客户端与服务器保持连接状态,则表明该客户端处于连接态,否则,表明该客户端处于未连接态。按照步骤3202所示例子:可以分别检测手机客户端八是否与服务器保持连接状态,检测客户端8是否与服务器保持连接状态,以及检测?八0客户端是否与服务器保持连接状态;如果检测到手机客户端八和客户端8均与服务器保持连接状态,而?八0客户端与服务器断开连接,则可表明手机客户端八和客户端8均处于连接态,?八0客户端处于未连接态。
[0041]3204,将所述通信账号对应的至少一个客户端中,除所述第一客户端之外且处于连接态的客户端确定为第二客户端。
[0042]按照步骤3203 中的例子确定为第二客户端。
[0043]本实施例的步骤3202-步骤3204可以为图1所示实施例的步骤3102的具体细化步骤。
[0044]3205,将所述关联数据的更新信息同步至所述第二客户端,以使所述第二客户端根据所述关联数据的更新信息,显示更新后的所述关联数据。
[0045]本实施例的步骤3205可参见图1所示实施例的步骤3103,在此不赘述。
[0046]3206,当接收到所述通信账号对应的任一客户端发送的登录请求时,检测请求登录的所述客户端是否存在历史登录记录;若检测结果为是,转入步骤3207 ;否则,转入步骤3210。
[0047]本步骤中,检测请求登录的所述客户端是否存在历史登录记录,即判断所述通信账号是否首次使用请求登录的所述客户端进行登录,如果请求登录的所述客户端存在历史登录记录,表明本次登录之前,所述通信账号已使用请求登录的所述客户端进行登录过,所述通信账号并非首次使用请求登录的所述客户端进行登录;如果请求登录的所述客户端不存在历史登录记录,表明本次登录之前,所述通信账号从未使用请求登录的所述客户端进行登录过,所述通信账号首次使用请求登录的所述客户端进行登录。例如:通信账号八使用手机客户端0进行登录时,手机客户端0发送登录请求,本步骤检测通信账号4的登录列表中是否存在手机客户端0的登录记录,如果检测结果为是,则表明在本次登录之前,通信账号八已使用手机客户端0进行登录过,转入步骤3207 ;否则,表明本次登录之前,通信账号八从未使用手机客户端0进行登录过,转入步骤3210。
[0048]3207,获取请求登录的所述客户端最近一次历史登录时间。
[0049]本步骤中,可以从所述通信账号的登录列表中查找请求登录的所述客户端的所有历史登录记录,从中获取最近一次历史登录时间;按照步骤3206所示例子:本步骤可获取手机客户端0的最近一次历史登录时间为2013-2-1-11:00。
[0050]3208,根据请求登录的所述客户端最近一次历史登录时间,查找所述通信账号的关联数据的更新信息。
[0051]本步骤中,根据请求登录的所述客户端最近一次历史登录时间,从所述通信账号的关联数据的所有更新信息中,查找更新时间晚于请求登录的所述客户端最近一次历史登录时间的更新信息;按照步骤3207所示例子:本步骤从通信账号4的关联数据的所有更新信息中,查找更新时间晚于2013-2-1-11:00的更新信息。
[0052]3209,将查找到的所述通信账号的关联数据的更新信息发送至请求登录的所述客户端;之后,结束。
[0053]需要说明的是,本步骤将查找到的所述通信账号的关联数据的更新信息发送至请求登录的所述客户端之后,请求登录的所述客户端可以采用接收到的更新信息,更新本地数据库中所述通信账号的关联数据。本实施例的步骤3207-步骤3209实现了请求登录的所述客户端的本地数据库中关于所述通信账号的关联数据的增量更新过程。
[0054]3210,查找所述通信账号的关联数据以及所述通信账号的关联数据的所有更新信肩、0
[0055]3211,将查找到的所述通信账号的关联数据以及所述通信账号的关联数据的所有更新信息一并发送至请求登录的所述客户端。
[0056]需要说明的是,本步骤将查找到的所述通信账号的关联数据以及所述通信账号的关联数据的所有更新信息发送至请求登录的所述客户端之后,请求登录的所述客户端可以在本地数据库存储所述通信账号的最新关联数据。本实施例的步骤3210-步骤3211实现了请求登录的所述客户端的本地数据库中关于所述通信账号的关联数据的全量更新过程。
[0057]请参见图3,为本发明实施例提供的又一种数据同步方法的流程图;该方法可包括以下步骤3301-步骤3310。
[0058]3301,当通信账号对应的第一客户端对所述通信账号的关联数据进行更新操作时,获取所述关联数据的更新信息。
[0059]3302,获取所述通信账号的登录列表,所述登录列表中包含所述通信账号对应的至少一个客户端的标识信息。
[0060]3303,根据所述通信账号对应的至少一个客户端的标识信息,检测所述通信账号对应的至少一个客户端的状态。
[0061]3304,将所述通信账号对应的至少一个客户端中,除所述第一客户端之外且处于连接态的客户端确定为第二客户端。
[0062]3305,将所述关联数据的更新信息同步至所述第二客户端,以使所述第二客户端根据所述关联数据的更新信息,显示更新后的所述关联数据。
[0063]3306,当接收到所述通信账号对应的任一客户端发送的登录请求时,检测请求登录的所述客户端是否存在历史登录记录;若检测结果为是,转入步骤3307 ;否则,转入步骤3310。
[0064]本实施例的步骤3301-步骤3306可参见图2所示实施例的步骤3201-步骤3206,在此不赘述。需要说明的是,本实施例中,所述登录请求中携带信息拉取指示和上次信息拉取时间;其中,所述信息拉取指示,用于指示请求登录的所述客户端所请求拉取的信息范围,例如:请求拉取通信账号对应的用户个人数据,或者请求拉取通信账号对应的用户关系链数据,或者请求拉取通信账号对应的用户关系链中某一好友数据,等等。所述上次拉取时间,表示请求登录的所述客户端上次获得所请求拉取的信息的时间。
[0065]3307,根据所述信息拉取指示和上次信息拉取时间,查找所述通信账号的关联数据的更新信息。
[0066]本步骤中,从所述通信账号的关联数据的所有更新信息中,查找更新时间晚于上次信息拉取时间,且更新内容位于所述信息拉取指示所指示的信息范围内的更新信息;例如:从所述通信账号的关联数据的所有更新信息中,查找更新时间晚于上次信息拉取时间,且更新内容为用户个人数据的更新信息;或者,从所述通信账号的关联数据的所有更新信息中,查找更新时间晚于上次信息拉取时间,且更新内容为用户关系链数据的更新信息,等坐寸。
[0067]3308,将查找到的所述通信账号的关联数据的更新信息发送至请求登录的所述客户端;之后,结束。
[0068]需要说明的是,本步骤将查找到的所述通信账号的关联数据的更新信息发送至请求登录的所述客户端之后,请求登录的所述客户端可以采用接收到的更新信息,更新本地数据库中所述通信账号的关联数据。本实施例的步骤3307-步骤3308实现了请求登录的所述客户端的本地数据库中关于所述通信账号的关联数据的增量更新过程。
[0069]3309,查找所述通信账号的关联数据以及所述通信账号的关联数据的所有更新信肩、0
[0070]3310,将查找到的所述通信账号的关联数据以及所述通信账号的关联数据的所有更新信息一并发送至请求登录的所述客户端。
[0071〕 本实施例的步骤3309-步骤3310可参见图2所示实施例的步骤3210-步骤3211,在此不赘述。
[0072]通过附图1-附图3所示的实施例,本发明实施例中,当通信账号对应的第一客户端对所述通信账号的关联数据进行更新操作时,将所述关联数据的更新信息同步至该通信账号对应的除第一客户端之外处于连接态的第二客户端,可以使所述第二客户端同步显示更新后的所述关联数据,保证了第一客户端与第二客户端之间显示数据的一致性,提升了客户端的智能性,从而提升了用户的使用体验。
[0073]下面将结合附图4-附图7,对本发明实施例提供的一种数据同步装置的结构进行详细介绍。需要说明的是,附图4-附图7所示的数据同步装置,用于执行本发明图1-图3所示实施例的方法,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明图1-图3所示的实施例。
[0074]请参见图4,为本发明实施例提供的一种数据同步装置的结构示意图;该装置可包括:信息获取模块101、查找模块102和同步模块103。
[0075]信息获取模块101,用于当通信账号对应的第一客户端对所述通信账号的关联数据进行更新操作时,获取所述关联数据的更新信息。
[0076]所述通信账号的关联数据可以包括但不限于:所述通信账号对应的用户个人数据和用户关系链数据;例如:即时通信账号的关联数据可以包括但不限于:即时通信用户的昵称、个性签名、加入的即时通信群组的标识等用户个人数据,以及即时通信用户的好友数据、即时通信群组中的好友数据等等。同一通信账号可对应多个客户端,例如:通信账号八既可以对应手机客户端八,又可以对应客户端8,还可以对应?八0客户端0。通信账号对应的用户可以在通信账号对应的任一客户端对通信账号的关联数据进行更新操作,例如:通信账号八对应的用户可通过手机客户端八修改用户昵称等等。所述信息获取模块101当通信账号对应的第一客户端对所述通信账号的关联数据进行更新操作时,获取通信账号的关联数据的更新信息;其中,所述关联数据的更新信息包括但不限于:所述关联数据的更新时间、对所述关联数据进行更新操作的操作类型和所述关联数据的更新内容。
[0077]查找模块102,用于查找所述通信账号对应的除所述第一客户端之外,且处于连接态的第二客户端。
[0078]按照本实施例的上述例子,通信账号八对应的第一客户端为手机客户端八,通信账号八还对应客户端8和?八0客户端;其中,?0客户端8处于连接态,而所述查找模块102进行查找之前通信账号八已从?八0客户端退出登录,?八0客户端处于未连接态;所述查找模块102则查找通信账号八对应的客户端8作为第二客户端。
[0079]同步模块103,用于将所述关联数据的更新信息同步至所述第二客户端,以使所述第二客户端根据所述关联数据的更新信息,显示更新后的所述关联数据。
[0080]所述同步模块103将所述关联数据的更新信息同步至所述第二客户端之后,所述第二客户端根据所述关联数据的更新信息,显示更新后的所述关联数据,从而可保证第一客户端与第二客户端之间所显示的所述通信账号的关联数据的一致性;按照本实施例的上述例子:手机客户端八对通信账号八的关联数据进行更新操作之后,?客户端8可同步显示更新后的所述关联数据,从而保证了手机客户端八与?客户端8之间显示数据的一致性。需要说明的是,所述同步模块103同步至第二客户端的关联数据的更新信息用于第二客户端进行关联数据的同步显示,而不用于第二客户端本地数据库中关于所述通信账号的关联数据的更新,这是由于同步过程中第二客户端可能由连接态变化为非连接态,例如:通信账号在第二客户端退出登录,或第二客户端处于休眠状态,等等,从而使得第二客户端无法接收完整的更新信息,无法保证第二客户端本地数据库关于所述通信账号的关联数据的更新完整性。
[0081]请参见图5,为本发明实施例提供的另一种数据同步装置的结构示意图;该装置可包括:信息获取模块101、查找模块102和同步模块103。可选地,该装置还可包括:第一登录检测模块104、时间获取模块105、第一信息查找模块106和第一更新模块107。可选地,该装置还可包括:第三信息查找模块108和第三更新模块109。其中,信息获取模块101、查找模块102和同步模块103的结构和功能可参见图4所示实施例的相关描述,在此不赘述。
[0082]第一登录检测模块104,用于当接收到所述通信账号对应的任一客户端发送的登录请求时,检测请求登录的所述客户端是否存在历史登录记录。
[0083]所述第一登录检测模块104检测请求登录的所述客户端是否存在历史登录记录,即判断所述通信账号是否首次使用请求登录的所述客户端进行登录,如果请求登录的所述客户端存在历史登录记录,表明本次登录之前,所述通信账号已使用请求登录的所述客户端进行登录过,所述通信账号并非首次使用请求登录的所述客户端进行登录;如果请求登录的所述客户端不存在历史登录记录,表明本次登录之前,所述通信账号从未使用请求登录的所述客户端进行登录过,所述通信账号首次使用请求登录的所述客户端进行登录。例如:通信账号4使用手机客户端0进行登录时,手机客户端0发送登录请求,所述第一登录检测模块104检测通信账号八的登录列表中是否存在手机客户端0的登录记录,如果检测结果为是,则表明在本次登录之前,通信账号八已使用手机客户端0进行登录过;否则,表明本次登录之前,通信账号八从未使用手机客户端0进行登录过。
[0084]时间获取模块105,用于若请求登录的所述客户端存在历史登录记录,获取请求登录的所述客户端最近一次历史登录时间。
[0085]本实施例中,服务器维护每个通信账号的登录列表,每个通信账号使用客户端进行登录后,服务器会将登录记录添加至每个通信账号的登录列表中。一条登录记录包含一个客户端的标识信息和登录时间。所述登录列表中包含所述通信账号对应的至少一个客户端的标识信息;一个客户端的标识信息用于唯一标识一个客户端。所述时间获取模块105可以从所述通信账号的登录列表中查找请求登录的所述客户端的所有历史登录记录,从中获取最近一次历史登录时间;按照本实施例的上述例子:所述时间获取模块105可获取手机客户端0的最近一次历史登录时间为2013-2-1-11:00。
[0086]第一信息查找模块106,用于根据请求登录的所述客户端最近一次历史登录时间,查找所述通信账号的关联数据的更新信息。
[0087]所述第一信息查找模块106根据请求登录的所述客户端最近一次历史登录时间,从所述通信账号的关联数据的所有更新信息中,查找更新时间晚于请求登录的所述客户端最近一次历史登录时间的更新信息;按照本实施例中的上述例子:所述第一信息查找模块106从通信账号八的关联数据的所有更新信息中,查找更新时间晚于2013-2-1-11:00的更新信息。
[0088]第一更新模块107,用于将查找到的所述通信账号的关联数据的更新信息发送至请求登录的所述客户端。
[0089]需要说明的是,所述第一更新模块107将查找到的所述通信账号的关联数据的更新信息发送至请求登录的所述客户端之后,请求登录的所述客户端可以采用接收到的更新信息,更新本地数据库中所述通信账号的关联数据。本实施例中,所述时间获取模块105、所述第一信息查找模块106和所述第一更新模块107的设置,实现了请求登录的所述客户端的本地数据库中关于所述通信账号的关联数据的增量更新过程。
[0090]第三信息查找模块108,用于若请求登录的所述客户端未存在历史登录记录,查找所述通信账号的关联数据以及所述通信账号的关联数据的所有更新信息。
[0091]第三更新模块109,用于若请求登录的所述客户端未存在历史登录记录,查找所述通信账号的关联数据以及所述通信账号的关联数据的所有更新信息。
[0092]需要说明的是,所述第三更新模块109将查找到的所述通信账号的关联数据以及所述通信账号的关联数据的所有更新信息发送至请求登录的所述客户端之后,请求登录的所述客户端可以在本地数据库存储所述通信账号的最新关联数据。本实施例的所述第三信息查找模块108和所述第三更新模块109实现了请求登录的所述客户端的本地数据库中关于所述通信账号的关联数据的全量更新过程。
[0093]请参见图6,为本发明实施例提供的又一种数据同步装置的结构示意图;该装置可包括:信息获取模块101、查找模块102和同步模块103。可选地,该装置还可包括:第三信息查找模块108和第三更新模块109。可选地,该装置还可包括:第二登录检测模块110、第二信息查找模块111和第二更新模块112。其中,信息获取模块101、查找模块102、同步模块103、第三信息查找模块108和第三更新模块109的结构和功能可参见图4和图5所示实施例的相关描述,在此不赘述。
[0094]第二登录检测模块110,用于当接收到所述通信账号对应的任一客户端发送的登录请求时,检测请求登录的所述客户端是否存在历史登录记录。
[0095]其中,所述登录请求中携带信息拉取指示和上次信息拉取时间。其中,所述信息拉取指示,用于指示请求登录的所述客户端所请求拉取的信息范围,例如:请求拉取通信账号对应的用户个人数据,或者请求拉取通信账号对应的用户关系链数据,或者请求拉取通信账号对应的用户关系链中某一好友数据,等等。所述上次拉取时间,表示请求登录的所述客户端上次获得所请求拉取的信息的时间。
[0096]第二信息查找模块111,用于若请求登录的所述客户端存在历史登录记录,根据所述信息拉取指示和上次信息拉取时间,查找所述通信账号的关联数据的更新信息。
[0097]所述第二信息查找模块111从所述通信账号的关联数据的所有更新信息中,查找更新时间晚于上次信息拉取时间,且更新内容位于所述信息拉取指示所指示的信息范围内的更新信息;例如:从所述通信账号的关联数据的所有更新信息中,查找更新时间晚于上次信息拉取时间,且更新内容为用户个人数据的更新信息;或者,从所述通信账号的关联数据的所有更新信息中,查找更新时间晚于上次信息拉取时间,且更新内容为用户关系链数据的更新信息,等等。
[0098]第二更新模块112,用于将查找到的所述通信账号的关联数据的更新信息发送至请求登录的所述客户端。
[0099]需要说明的是,所述第二更新模块112将查找到的所述通信账号的关联数据的更新信息发送至请求登录的所述客户端之后,请求登录的所述客户端可以采用接收到的更新信息,更新本地数据库中所述通信账号的关联数据。本实施例的所述第二信息查找模块111和所述第二更新模块112实现了请求登录的所述客户端的本地数据库中关于所述通信账号的关联数据的增量更新过程。
[0100]请参见图7,为本发明实施例提供的查找模块的结构示意图;该查找模块102可包括:列表获取单元1201、状态检测单元1202和确定单元1203。
[0101]列表获取单元1201,用于获取所述通信账号的登录列表,所述登录列表中包含所述通信账号对应的至少一个客户端的标识信息。
[0102]本实施例中,服务器维护每个通信账号的登录列表,每个通信账号使用客户端进行登录后,服务器会将登录记录添加至每个通信账号的登录列表中。一条登录记录包含一个客户端的标识信息和登录时间。所述登录列表中包含所述通信账号对应的至少一个客户端的标识信息;一个客户端的标识信息用于唯一标识一个客户端。所述列表获取单元1201可以从服务器中获取所述通信账号的登录列表,例如:通信账号八分别通过手机客户端八、
客户端8和?八0客户端进行登录,则所述列表获取单元1201可获取通信账号八的登录列表,该登录列表中包含手机客户端八的标识信息、?客户端8的标识信息和?八0客户端的标识信息。
[0103]状态检测单元1202,用于根据所述通信账号对应的至少一个客户端的标识信息,检测所述通信账号对应的至少一个客户端的状态。
[0104]所述状态检测单元1202可以检测所述通信账号对应的至少一个客户端是否与服务器保持连接状态,如果某一客户端与服务器保持连接状态,则表明该客户端处于连接态,否则,表明该客户端处于未连接态。按照本实施例的上述例子:可以分别检测手机客户端八是否与服务器保持连接状态,检测客户端8是否与服务器保持连接状态,以及检测?八0客户端¢:是否与服务器保持连接状态;如果检测到手机客户端八和客户端8均与服务器保持连接状态,而?八0客户端与服务器断开连接,则可表明手机客户端八和客户端8均处于连接态,?八0客户端处于未连接态。
[0105]确定单元1203,用于将所述通信账号对应的至少一个客户端中,除所述第一客户端之外且处于连接态的客户端确定为第二客户端。
[0106]按照本实施例的上述例子:第一客户端为手机客户端八,所述确定单元1203则可将客户端8确定为第二客户端。
[0107]通过上述附图4-附图7所示实施例的描述,本发明实施例中,当通信账号对应的第一客户端对所述通信账号的关联数据进行更新操作时,将所述关联数据的更新信息同步至该通信账号对应的除第一客户端之外处于连接态的第二客户端,可以使所述第二客户端同步显示更新后的所述关联数据,保证了第一客户端与第二客户端之间显示数据的一致性,提升了客户端的智能性,从而提升了用户的使用体验。
[0108]本发明实施例还公开了一种服务器,该服务器可包括一个数据同步装置,该数据同步装置的结构和功能可参见附图4-附图7所示实施例的描述,在此不赘述。需要说明的是,本实施例的服务器可以应用于图1-图3所示的方法中。
[0109]通过上述实施例的描述,本发明实施例中,当通信账号对应的第一客户端对所述通信账号的关联数据进行更新操作时,将所述关联数据的更新信息同步至该通信账号对应的除第一客户端之外处于连接态的第二客户端,可以使所述第二客户端同步显示更新后的所述关联数据,保证了第一客户端与第二客户端之间显示数据的一致性,提升了客户端的智能性,从而提升了用户的使用体验。
[0110]本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(0651(1-01117 1611101*7,001)或随机存储记忆体(^00688161110狀1)等。
[0111]以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
【权利要求】
1.一种数据同步方法,其特征在于,包括: 当通信账号对应的第一客户端对所述通信账号的关联数据进行更新操作时,获取所述关联数据的更新信息; 查找所述通信账号对应的除所述第一客户端之外,且处于连接态的第二客户端; 将所述关联数据的更新信息同步至所述第二客户端,以使所述第二客户端根据所述关联数据的更新信息,显示更新后的所述关联数据。
2.如权利要求1所述的方法,其特征在于,所述关联数据的更新信息包括: 所述关联数据的更新时间、对所述关联数据进行更新操作的操作类型和所述关联数据的更新内容。
3.如权利要求2所述的方法,其特征在于,所述查找所述通信账号对应的除所述第一客户端之外,且处于连接态的第二客户端,包括: 获取所述通信账号的登录列表,所述登录列表中包含所述通信账号对应的至少一个客户端的标识信息; 根据所述通信账号对应的至少一个客户端的标识信息,检测所述通信账号对应的至少一个客户端的状态; 将所述通信账号对应的至少一个客户端中,除所述第一客户端之外且处于连接态的客户端确定为第二客户端。
4.如权利要求2所述的方法,其特征在于,还包括: 当接收到所述通信账号对应的任一客户端发送的登录请求时,检测请求登录的所述客户端是否存在历史登录记录; 若请求登录的所述客户端存在历史登录记录,获取请求登录的所述客户端最近一次历史登录时间; 根据请求登录的所述客户端最近一次历史登录时间,查找所述通信账号的关联数据的更新信息; 将查找到的所述通信账号的关联数据的更新信息发送至请求登录的所述客户端。
5.如权利要求2所述的方法,其特征在于,还包括: 当接收到所述通信账号对应的任一客户端发送的登录请求时,检测请求登录的所述客户端是否存在历史登录记录,所述登录请求中携带信息拉取指示和上次信息拉取时间; 若请求登录的所述客户端存在历史登录记录,根据所述信息拉取指示和上次信息拉取时间,查找所述通信账号的关联数据的更新信息; 将查找到的所述通信账号的关联数据的更新信息发送至请求登录的所述客户端。
6.如权利要求4或5所述的方法,其特征在于,还包括: 若请求登录的所述客户端未存在历史登录记录,查找所述通信账号的关联数据以及所述通信账号的关联数据的所有更新信息; 将查找到的所述通信账号的关联数据以及所述通信账号的关联数据的所有更新信息一并发送至请求登录的所述客户端。
7.一种数据同步装置,其特征在于,包括: 信息获取模块,用于当通信账号对应的第一客户端对所述通信账号的关联数据进行更新操作时,获取所述关联数据的更新信息; 查找模块,用于查找所述通信账号对应的除所述第一客户端之外,且处于连接态的第二客户端; 同步模块,用于将所述关联数据的更新信息同步至所述第二客户端,以使所述第二客户端根据所述关联数据的更新信息,显示更新后的所述关联数据。
8.如权利要求7所述的装置,其特征在于,所述关联数据的更新信息包括:所述关联数据的更新时间、对所述关联数据进行更新操作的操作类型和所述关联数据的更新内容。
9.如权利要求8所述的装置,其特征在于,所述查找模块包括: 列表获取单元,用于获取所述通信账号的登录列表,所述登录列表中包含所述通信账号对应的至少一个客户端的标识信息; 状态检测单元,用于根据所述通信账号对应的至少一个客户端的标识信息,检测所述通信账号对应的至少一个客户端的状态; 确定单元,用于将所述通信账号对应的至少一个客户端中,除所述第一客户端之外且处于连接态的客户端确定为第二客户端。
10.如权利要求8所述的装置,其特征在于,还包括: 第一登录检测模块,用于当接收到所述通信账号对应的任一客户端发送的登录请求时,检测请求登录的所述客户端是否存在历史登录记录; 时间获取模块,用于若请求登录的所述客户端存在历史登录记录,获取请求登录的所述客户端最近一次历史登录时间; 第一信息查找模块,用于根据请求登录的所述客户端最近一次历史登录时间,查找所述通信账号的关联数据的更新信息; 第一更新模块,用于将查找到的所述通信账号的关联数据的更新信息发送至请求登录的所述客户端。
11.如权利要求8所述的装置,其特征在于,还包括: 第二登录检测模块,用于当接收到所述通信账号对应的任一客户端发送的登录请求时,检测请求登录的所述客户端是否存在历史登录记录,所述登录请求中携带信息拉取指示和上次信息拉取时间; 第二信息查找模块,用于若请求登录的所述客户端存在历史登录记录,根据所述信息拉取指示和上次信息拉取时间,查找所述通信账号的关联数据的更新信息; 第二更新模块,用于将查找到的所述通信账号的关联数据的更新信息发送至请求登录的所述客户端。
12.如权利要求10或11所述的装置,其特征在于,还包括: 第三信息查找模块,用于若请求登录的所述客户端未存在历史登录记录,查找所述通信账号的关联数据以及所述通信账号的关联数据的所有更新信息; 第三更新模块,用于若请求登录的所述客户端未存在历史登录记录,查找所述通信账号的关联数据以及所述通信账号的关联数据的所有更新信息。
13.一种服务器,其特征在于,包括如权利要求7-12任一项所述的数据同步装置。
【文档编号】H04L29/06GK104283926SQ201310288024
【公开日】2015年1月14日 申请日期:2013年7月10日 优先权日:2013年7月10日
【发明者】张云鹏, 董江德, 蔡志国, 陈家辉 申请人:腾讯科技(深圳)有限公司