多实例消息的同步方法及装置的制造方法
【技术领域】
[0001]本发明涉及信息技术领域,特别涉及一种数据传输信息的获取方法及装置。
【背景技术】
[0002]随着移动互联网的不断发展,出现了不同终端上的各种各样的应用程序,但消息通信作为用户最基本的需求,仍然应用在不同应用程序中。其中,通过实例可以记录用户对某一个应用程序的消息通信过程,通常某一个用户账号下包含多个实例,不同账号的实例之间可以进行消息传输,因此,如何实现消息传输过程中,同一账号下多个实例之间的消息同步已经成为待解决的重要技术问题。
[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]为使本发明技术方案的优点更加清楚,下面结合附图和实施例对本发明作详细说明。
[0025]本发明实施例提供一种多实例消息的同步方法,如图1所示,所述方法包括:
[0026]101、服务器接收第一实例发送的消息,并且获取与所述消息对应的第二实例用户账号。
[0027]对于本发明实施例,实例为用户通过不同应用程序在登录消息通信系统期间,标识用户唯一性的数据,不同应用程序可以基于同一个帐号共享同一个消息通信系统,实例中可以包含帐号信息、登录来源信息等用于标识用户唯一性的信息。其中,第一实例可以为发送方用户账号下的任意一个在线实例,第二实例可以为接收方用户账号下的任意一个在线实例。
[0028]102、服务器获取所述第一实例用户账号的各个在线实例和所述第二实例用户账号的各个在线实例。
[0029]例如,用户账号A下包含有实例1、实例2、实例3、和实例4,若实例I发送消息时,只有实例2在线,则此时获取的在线实例为实例2。
[0030]103、服务器向所述第一实例用户账号的各个在线实例和所述第二实例用户账号的各个在线实例发送更新同步通知。
[0031]进一步地,以使得所述第一实例用户账号的各个在线实例和所述第二实例用户账号的各个在线实例进行消息同步。
[0032]对于本发明实施例,具体应用场景可以如下所示,但不限于此,如图5所示,包括:用户账号A下包含有实例1、实例2、实例3,用户账号B下包含有实例1、实例2、实例3,并且各个实例均为在线状态,此时当用户账号A的实例I需要向用户账号B的各个在线实例发送消息时,服务器首先接收用户账号A的实例I发送的消息和该消息对应的用户账号B,然后获取用户账号A下的其他在线实例实例2和实例3,以及用户账号B下的各个在线实例实例1、实例2和实例3,最后向用户账号A下的实例2、用户账号A下的实例3、用户账号B下的实例1、用户账号B下的实例2、用户账号B下的实例3发送更新同步通知,以保证发送方和接收方的各个实例都能进行消息同步。
[0033]本发明实施例提供的一种多实例消息的同步方法,首先服务器接收第一实例发送的消息,并且获取与所述消息对应的第二实例用户账号,然后所述服务器获取所述第一实例用户账号的各个在线实例和所述第二实例用户账号的各个在线实例,最后所述服务器向所述第一实例用户账号的各个在线实例和所述第二实例用户账号的各个在线实例发送更新同步通知,以使得所述第一实例用户账号的各个在线实例和所述第二实例用户账号的各个在线实例进行消息同步。与目前发送方通过某一个在线实例发送消息时,通常会将该消息发送
给接收方用户账号下的各个在线实例相比,本发明实施例通过向所述第一实例用户账号的各个在线实例和所述第二实例用户账号的各个在线实例发送更新同步通知,在保证接收方用户账号下的各个在线实例的消息同步的同时,还可以保证发送方用户账号下的各个在线实例的消息同步。
[0034]本发明实施例提供另一种多实例消息的同步方法,如图2所示,所述方法包括:
[0035]201、服务器接收第一实例发送的消息,并且获取与所述消息对应的第二实例用户账号。
[0036]其中,第一实例可以为发送方用户账号下的任意一个在线实例,第二实例可以为接收方用户账号下的任意一个在线实例。
[0037]202、服务器保存所述消息,并且将所述消息对应的状态配置为未读状态。
[0038]其中,服务器不仅保存各个实例发送的消息,还可以保存并更新各个消息的当前状态,从而可以保证接收该消息的各个实例获取到该消息的实时状态,保证消息状态的准确性,其中,消息对应的状态可以包括未读状态、已发送、已读等,本发明实施例不做限定。
[0039]203、服务器获取所述第一实例用户账号的各个在线实例和所述第二实例用户账号的各个在线实例。
[0040]例如,用户账号A下包含有实例1、实例2、实例3、和实例4,若实例I发送消息时,只有实例4在线,则此时获取的在线实例为实例4。
[0041]204、服务器向所述第一实例用户账号的各个在线实例和所述第二实例用户账号的各个在线实例发送更新同步通知。
[0042]进一步地,以使得所述第一实例用户账号的各个在线实例和所述第二实例用户账号的各个在线实例进行消息同步。
[0043]205、服务器将所述消息对应的状态更新为已发送状态。
[0044]优选地,若所述服务器接收到所述第二实例用户账号的各个在线实例中,任意一个在线实例发送的所述消息的已读反馈时,所述服务器将所述消息对应的状态更新为已读状态,所述服务器向所述第二实例用户账号的各个在线实例发送所述消息的已读通知,以使得所述第二实例用户账号的各个在线实例更新所述消息的状态信息。例如,如图6所示,用户账号B的在线实例为实例1、实例2、实例3,当实例I判断用户已查看消息时,向服务器进行该消息的已读反馈,此时,服务器会向实例2和实例3发送所述消息的已读通知,以使得实例2和实例3可以及时更新所述消息的状态信息。
[0045]可以看出,本发明实施例中服务器通过接收实例发送的已读反馈,可以及时通知同一用户账号下的其他实例该消息已被阅读,从而可以避免用户在不同实例重复阅读同一消息。
[0046]对于本发明实施例,当任意一个实例由离线状态切换为在线状态时,所述服务器接收所述实例发送的消息同步请求,所述消息同步请求携带有所述实例最后一次进行同步操作的时间戳,然后所述服务器获取所述时间戳到当前时间之间的时间区间,并且获取在所述时间区间内与所述实例对应的消息和消息状态信息,所述服务器将在所述时间区间内与所述实例对应的消息、消息状态信息、和当前时间发送给所述实例,以使得所述实例更新已保存的消息、各个消息的状态信息、和最后一次进行同步操作的时间戳。可以看出,本发明实施例不仅能够保证各个在线实例之间的消息同步,还可以保证离线实例在切换为在线状态时,及时完成消息的同步。
[0047]例如,如图7所示,用户账号A的实例I为离线实例,最后一次进行同步操作的时间戳为17:00,并且实例I由离线状态切换为在线状态,并向服务器发送的消息同步请求的时间为20:00,则服务器获取17:00-20:00这段时间内,用户账号A的各个实例发送过的消息,以及其他用户账号下的各个实例发送给该实例的消息,然后将上述消息以及消息的当前状态发送给实例1,以使得实例I可以及时进行消息同步操作,并将最后一次进行同步操作的时间戳更新为20:00。
[0048]本发明实施例提供的另一种多实例消息的同步方法,首先服务器接收第一实例发送的消息,并且获取与所述消息对应的第二实例用户账号,然后所述服务器获取所述第一实例用户账号的各个在线实例和所述第二实例用户账号的各个在线实例,最后所述服务器向所述第一实例用户账号的各个在线实例和所述第二实例用户账号的各个在线实例发送更新同步通知,以使得所述第一实例用户账号的各个在线实例和所述第二实例用户账号的各个在线实例进行消息同步。与目前发送方通过某一个在线实例发送消息时,通常会将该消息发送给接收方用户账号下的各个在线实例相比,本发明实施例通过向与所述第一实例用户账号相同的各个在线实例和与所述第二实例用户账号相同的各个在线实例发送更新同步通知,在保证接收方用户账号下的各个在线实例的消息同步的同时,还可以保证发送方用户账号下的各个在线实例的消息同步。
[0049]进一步地,作为图1所示方法的具体实现,本发明实施例提供一种多实例消息的同步装置,如图3所示,所述装置的实体可以为服务器,所述装置可以包括:接收单元31、获取单元32、发送单元33。
[0050]接收单元31,可以用于接收第一实例发送的消息。
[0051]获取单元32,可以用于获取与所述消息对应的第二实例用户账号、所述第一实例用户账号相同的各个在线实例、和所述第二实例用户账号的各个在线实例。
[0052]发送单元33,可以用于向所述获取单元32获取的所述第一实例用户账号的各个在线实例和所述第二实例用户账号的各个在线实例发送更新同步通知,以使得所述第一实例用户账号的各个在线实例和所述第二实例用户账号的各个在线实例进行消息同步。
[0053]需要说明的是,本发明实施例提供的装置所涉及各功能单元的其他对应描述,可以参考图1中的对应描述,在此不再赘述。
[0054]进一步地,作为图2所示方法的具体实现,本发明实施例提供一种多实例消息的同步装置,如图4所示,所述装置的实体可以为服务器,所述装置可以包括:接收单元41、获取单元42、发送单元43、保存单元44、更新单元45。
[0055]接收单元41,可以用于接收第一实例发送的消息。
[0056]获取单元42,可以用于获取与所述消息对应的第二实例用户账号、所述第一实例用户账号的各个在线实例、和所述第二实例用户账号的各个在线实例。
[0057]发送单元43,可以用于向所述获取单元42获取的所述第一实例用户账号的各个在线实例和所述第二实例用户账号的各个在线实例发送更新同步通知,以使得所述第一实例用户账号的各个在线实例和所述第二实例用户账号的各个在线实例进行消息同步。
[0058]保存单元44,可以用于保存所述消息,并且将所述消息对应的状态配置为未读状态。
[0059]更新单元45,可以用于将所述消息对应的状态更新为已发送状态。
[0060]更新单元45,还可以用于若接收到所述第二实例用户账号的各个在线实例中,任意一个在线实例发送的所述消息的已读反馈时,将所述消息对应的状态更新为已读状态。
[0061]发送单元43,还可以用于向所述第二实例用户账号的各个在线实例发送所述消息的已读通知,以使得所述第二实例用户账号的各个在线实例更新所述消息的状态信息。
[0062]接收单元41,还可以用于当任意一个实例由离线状态切换为在线状态时,接收所述实例发送的消息同步请求,所述消息同步请求携带有所述实例最后一次进行同步操作的时间戳。
[0063]
获取单元42,还可以用于获取所述时间戳到当前时间之间的时间区间,并且获取在所述时间区间内与所述实例对应的消息和消息状态信息。
[0064]发送单元43,还可以用于将在所述时间区间内与所述实例对应的消息、消息状态信息、和当前时间发送给所述实例,以使得所述实例更新已保存的消息、各个消息的状态信息、和最后一次进行同步操作的时间戳。
[0065]需要说明的是,本发明实施例提供的装置所涉及各功能单元的其他对应描述,可以参考图2中的对应描述,在此不再赘述。
[0066]本发明实施例提供的多实例消息的同步装置,首先接收第一实例发送的消息,并且获取与所述消息对应的第二实例用户账号,然后获取所述第一实例用户账号的各个在线实例和所述第二实例用户账号的各个在线实例,最后向所述第一实例用户账号的各个在线实例和所述第二实例用户账号的各个在线实例发送更新同步通知,以使得所述第一实例用户账号的各个在线实例和所述第二实例用户账号的各个在线实例进行消息同步。与目前发送方通过某一个在线实例发送消息时,通常会将该消息发送给接收方用户账号下的各个在线实例相比,本发明实施例通过向所述第一实例用户账号的各个在线实例和所述第二实例用户账号的各个在线实例发送更新同步通知,在保证接收方用户账号下的各个在线实例的消息同步的同时,还可以保证发送方用户账号下的各个在线实例的消息同步。
[0067]本发明实施例提供的多实例消息的同步装置可以实现上述提供的方法实施例,具体功能实现请参见方法实施例中的说明,在此不再赘述。本发明实施例提供的多实例消息的同步方法及装置可以适用于信息技术领域,但不仅限于此。
[0068]本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory, ROM)或随机存储记忆体(Random AccessMemory, RAM)等。
[0069]以上所述,仅为本发明的【具体实施方式】,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
【主权项】
1.一种多实例消息的同步方法,其特征在于,包括: 服务器接收第一实例发送的消息,并且获取与所述消息对应的第二实例用户账号;所述服务器获取所述第一实例用户账号的各个在线实例和所述第二实例用户账号的各个在线实例; 所述服务器向所述第一实例用户账号的各个在线实例和所述第二实例用户账号的各个在线实例发送更新同步通知,以使得所述第一实例用户账号的各个在线实例和所述第二实例用户账号的各个在线实例进行消息同步。2.根据权利要求1所述的多实例消息的同步方法,其特征在于,所述服务器接收第一实例发送的消息的步骤之后,还包括: 所述服务器保存所述消息,并且将所述消息对应的状态配置为未读状态。3.根据权利要求2所述的多实例消息的同步方法,其特征在于,所述服务器向所述第一实例用户账号的各个在线实例和所述第二实例用户账号的各个在线实例发送更新同步通知的步骤之后,还包括: 所述服务器将所述消息对应的状态更新为已发送状态。4.根据权利要求3所述的多实例消息的同步方法,其特征在于,所述服务器将所述消息对应的状态更新为已发送状态的步骤之后,还包括: 若所述服务器接收到所述第二实例用户账号的各个在线实例中,任意一个在线实例发送的所述消息的已读反馈时,所述服务器将所述消息对应的状态更新为已读状态; 所述服务器向所述第二实例用户账号的各个在线实例发送所述消息的已读通知,以使得所述第二实例用户账号的各个在线实例更新所述消息的状态信息。5.根据权利要求2所述的多实例消息的同步方法,其特征在于,所述方法还包括: 当任意一个实例由离线状态切换为在线状态时,所述服务器接收所述实例发送的消息同步请求,所述消息同步请求携带有所述实例最后一次进行同步操作的时间戳; 所述服务器获取所述时间戳到当前时间之间的时间区间,并且获取在所述时间区间内与所述实例对应的消息和消息状态信息; 所述服务器将在所述时间区间内与所述实例对应的消息、消息状态信息、和当前时间发送给所述实例,以使得所述实例更新已保存的消息、各个消息的状态信息、和最后一次进行同步操作的时间戳。6.一种多实例消息的同步装置,其特征在于,包括: 接收单元,用于接收第一实例发送的消息; 获取单元,用于获取与所述消息对应的第二实例用户账号、所述第一实例用户账号的各个在线实例、和所述第二实例用户账号的各个在线实例; 发送单元,用于向所述获取单元获取的所述第一实例用户账号的各个在线实例和所述第二实例用户账号的各个在线实例发送更新同步通知,以使得所述第一实例用户账号的各个在线实例和所述第二实例用户账号的各个在线实例进行消息同步。7.根据权利要求6所述的多实例消息的同步装置,其特征在于,所述装置还包括: 保存单元,用于保存所述消息,并且将所述消息对应的状态配置为未读状态。8.根据权利要求7所述的多实例消息的同步装置,其特征在于,所述装置还包括: 更新单元,用于将所述消息对应的状态更新为已发送状态。9.根据权利要求8所述的多实例消息的同步装置,其特征在于, 所述更新单元,还用于若接收到所述第二实例用户账号的各个在线实例中,任意一个在线实例发送的所述消息的已读反馈时,将所述消息对应的状态更新为已读状态; 所述发送单元,还用于向所述第二实例用户账号的各个在线实例发送所述消息的已读通知,以使得所述第二实例用户账号的各个在线实例更新所述消息的状态信息。10.根据权利要求7所述的多实例消息的同步装置,其特征在于, 所述接收单元,还用于当任意一个实例由离线状态切换为在线状态时,接收所述实例发送的消息同步请求,所述消息同步请求携带有所述实例最后一次进行同步操作的时间戳; 所述获取单元,还用于获取所述时间戳到当前时间之间的时间区间,并且获取在所述时间区间内与所述实例对应的消息和消息状态信息; 所述发送单元,还用于将在所述时间区间内与所述实例对应的消息、消息状态信息、和当前时间发送给所述实例,以使得所述实例更新已保存的消息、各个消息的状态信息、和最后一次进行同步操作的时间戳。
【专利摘要】本发明实施例公开了一种多实例消息的同步方法及装置,涉及信息技术领域,在保证接收方用户账号下的各个在线实例的消息同步的同时,还可以保证发送方用户账号下的各个在线实例的消息同步。所述方法包括:首先接收第一实例发送的消息,并且获取与所述消息对应的第二实例用户账号,然后获取所述第一实例用户账号的各个在线实例和所述第二实例用户账号的各个在线实例,最后向所述第一实例用户账号的各个在线实例和所述第二实例用户账号的各个在线实例发送更新同步通知,以使得所述第一实例用户账号的各个在线实例和所述第二实例用户账号的各个在线实例进行消息同步。
【IPC分类】H04L29/08
【公开号】CN104901986
【申请号】CN201410082038
【发明人】韦彬, 李哲, 陈路远, 杨超
【申请人】腾讯科技(深圳)有限公司
【公开日】2015年9月9日
【申请日】2014年3月6日