一种获取即时通讯消息的方法及装置与流程

文档序号:16753869发布日期:2019-01-29 17:09阅读:210来源:国知局
一种获取即时通讯消息的方法及装置与流程
本申请涉及计算机
技术领域
,特别是涉及一种获取即时通讯消息的方法及装置。
背景技术
:相关技术中,用户与其他用户通过客户端进行即时通讯时,会产生多条即时通讯消息,客户端会发送消息传输请求至即时通讯应用程序的服务器,消息传输请求携带有即时通讯消息、即时通讯消息的生成时间、以及进行即时通讯的多个用户的用户标识。然后,服务器会根据多个用户的用户标识,确定目标消息列表,并在目标消息列表中,按照即时通讯消息的生成时间的顺序,依次存储即时通讯消息。目标消息列表中对应存储有多条即时通讯消息、各即时通讯消息的生成时间、以及生成各即时通讯消息的用户的用户标识。当进行即时通讯的某一用户删除某一条即时通讯消息时,客户端会发送消息删除请求给服务器,消息删除请求中可以携带有发出消息删除请求的用户的用户标识、进行即时通讯的多个用户的用户标识、以及待删除的即时通讯消息的消息标识;然后,服务器会根据多个用户的用户标识,确定目标消息列表,并在目标消息列表中,根据消息标识确定目标即时通讯消息。之后,服务器会对应存储该用户的用户标识与目标即时通讯消息,并判断该目标即时通讯消息对应的用户标识与进行即时通讯的所有用户的用户标识是否相同,如果判断结果为是,则服务器会删除该条目标即时通讯消息。当进行即时通讯的多个用户均发出消息删除请求,以删除同一条即时通讯消息时,服务器会在消息列表中删除该条即时通讯消息。因此,当第三方发出查询请求时,服务器无法提供多个用户发出的全部即时通讯消息。技术实现要素:为克服相关技术中存在的问题,本申请提供一种获取即时通讯消息的方法及装置。根据本申请实施例的第一方面,提供一种获取即时通讯消息的方法,包括:当接收到携带有待删除的目标即时通讯消息的消息标识、第一用户标识集合的消息删除请求时,在所述第一用户标识集合对应的目标消息列表中,确定所述消息标识对应的目标即时通讯消息,其中,所述目标消息列表用于存储用户标识集合、即时通讯消息、消息标识和即时通讯消息的索引信息的对应关系,所述用户标识集合包括即时通讯的发送方的用户标识和接收方的用户标识;将所述目标即时通讯消息、所述目标即时通讯消息的索引信息、以及所述第一用户标识集合存储到预设的数据库中,并从所述目标消息列表中删除所述目标即时通讯消息;当接收到携带有所述第一用户标识集合的查询请求时,获取所述第一用户标识集合对应的目标消息列表、所述数据库中存储的所述第一用户标识集合对应的目标即时通讯消息、以及所述目标即时通讯消息的索引信息;根据所述索引信息、预先存储的所述目标消息列表中多条即时通讯消息的索引信息,确定所述目标即时通讯消息在所述目标消息列表中的排列顺序,并根据所述目标即时通讯消息对应的排列顺序,得到包含所述目标即时通讯消息的目标消息列表。可选的,所述即时通讯消息的索引信息包括前项索引、本项索引和后项索引,所述本项索引为为所述即时通讯消息分配的索引,所述前项索引为在所述即时通讯消息之前接收到的、且与所述即时通讯消息的接收时间最接近的即时通讯消息的索引,所述后项索引为在所述即时通讯消息之后接收到的、且与所述即时通讯消息的接收时间最接近的即时通讯消息的索引。可选的,所述方法还包括:接收消息传输请求,所述消息传输请求中携带有所述目标即时通讯消息和所述第一用户标识集合;根据所述第一用户标识集合确定目标消息列表;生成所述目标即时通讯消息的本项索引,并确定所述目标即时通讯消息的前项索引和后项索引,得到所述目标即时通讯消息的索引信息;在所述目标消息列表中,添加所述目标即时通讯消息、所述目标即时通讯消息的索引信息。可选的,所述将所述目标即时通讯消息、所述目标即时通讯消息的索引信息、以及所述第一用户标识集合存储到预设的数据库中,并从所述目标消息列表中删除所述目标即时通讯消息之前,还包括:获取发送携带有待删除的目标即时通讯消息的消息标识的消息删除请求的用户的用户标识,得到第二用户标识集合;判断所述第二用户标识集合与所述第一用户标识集合是否相同,如果相同,则执行将所述目标即时通讯消息、所述目标即时通讯消息的索引信息、以及所述第一用户标识集合存储到预设的数据库中,并从所述目标消息列表中删除所述目标即时通讯消息步骤。可选的,所述方法还包括:针对所述目标消息列表中的相邻的第一即时通讯消息和第二即时通讯消息,判断所述第一即时通讯消息的后项索引与所述第二即时通讯消息的本项索引是否相同,或所述第二即时通讯消息的前项索引与所述第一即时通讯消息的本项索引是否相同;如果所述第一即时通讯消息的后项索引与所述第二即时通讯消息的本项索引不相同,或所述第二即时通讯消息的前项索引与所述第一即时通讯消息的本项索引不相同,则确定存在被删除的目标即时通讯消息。可选的,所述确定存在被删除的目标即时通讯消息之后,还包括:如果所述第一即时通讯消息的后项索引与所述第二即时通讯消息的本项索引不相同,则将所述后项索引修改为所述第二即时通讯消息的本项索引;如果所述第二即时通讯消息的前项索引与所述第一即时通讯消息的本项索引不相同,则将所述前项索引修改为所述第一即时通讯消息的本项索引。可选的,所述数据库的数据结构为雷迪斯redis的有序集zset时,所述将所述目标即时通讯消息、所述目标即时通讯消息的索引信息、以及所述第一用户标识集合存储到预设的数据库中包括:根据所述第一用户标识集合,确定关键值key;将所述目标即时通讯消息的所述本项索引作为分值score;将所述目标即时通讯消息作为内容member。根据本申请实施例的第二方面,提供一种获取即时通讯消息的装置,包括:第一确定单元,被配置为当接收到携带有待删除的目标即时通讯消息的消息标识、第一用户标识集合的消息删除请求时,在所述第一用户标识集合对应的目标消息列表中,确定所述消息标识对应的目标即时通讯消息,其中,所述目标消息列表用于存储用户标识集合、即时通讯消息、消息标识和即时通讯消息的索引信息的对应关系,所述用户标识集合包括即时通讯的发送方的用户标识和接收方的用户标识;存储单元,被配置为将所述目标即时通讯消息、所述目标即时通讯消息的索引信息、以及所述第一用户标识集合存储到预设的数据库中,并从所述目标消息列表中删除所述目标即时通讯消息;第一获取单元,被配置为当接收到携带有所述第一用户标识集合的查询请求时,获取所述第一用户标识集合对应的目标消息列表、所述数据库中存储的所述第一用户标识集合对应的目标即时通讯消息、以及所述目标即时通讯消息的索引信息;第二确定单元,被配置为根据所述索引信息、预先存储的所述目标消息列表中多条即时通讯消息的索引信息,确定所述目标即时通讯消息在所述目标消息列表中的排列顺序,并根据所述目标即时通讯消息对应的排列顺序,得到包含所述目标即时通讯消息的目标消息列表。可选的,所述即时通讯消息的索引信息包括前项索引、本项索引和后项索引,所述本项索引为为所述即时通讯消息分配的索引,所述前项索引为在所述即时通讯消息之前接收到的、且与所述即时通讯消息的接收时间最接近的即时通讯消息的索引,所述后项索引为在所述即时通讯消息之后接收到的、且与所述即时通讯消息的接收时间最接近的即时通讯消息的索引。可选的,所述装置还包括:接收单元,被配置为接收消息传输请求,所述消息传输请求中携带有所述目标即时通讯消息和所述第一用户标识集合;第三确定单元,被配置为根据所述第一用户标识集合确定目标消息列表;第四确定单元,被配置为生成所述目标即时通讯消息的本项索引,并确定所述目标即时通讯消息的前项索引和后项索引,得到所述目标即时通讯消息的索引信息;添加单元,被配置为在所述目标消息列表中,添加所述目标即时通讯消息、所述目标即时通讯消息的索引信息。可选的,所述装置还包括:第二获取单元,被配置为获取发送携带有待删除的目标即时通讯消息的消息标识的消息删除请求的用户的用户标识,得到第二用户标识集合;第一判断单元,被配置为判断所述第二用户标识集合与所述第一用户标识集合是否相同,如果相同,则执行将所述目标即时通讯消息、所述目标即时通讯消息的索引信息、以及所述第一用户标识集合存储到预设的数据库中,并从所述目标消息列表中删除所述目标即时通讯消息步骤。可选的,所述装置还包括:第二判断单元,被配置为针对所述目标消息列表中的相邻的第一即时通讯消息和第二即时通讯消息,判断所述第一即时通讯消息的后项索引与所述第二即时通讯消息的本项索引是否相同,或所述第二即时通讯消息的前项索引与所述第一即时通讯消息的本项索引是否相同;第五确定单元,被配置为如果所述第一即时通讯消息的后项索引与所述第二即时通讯消息的本项索引不相同,或所述第二即时通讯消息的前项索引与所述第一即时通讯消息的本项索引不相同,则确定存在被删除的目标即时通讯消息。可选的,所述装置还包括:修改单元,被配置为如果所述第一即时通讯消息的后项索引与所述第二即时通讯消息的本项索引不相同,则将所述后项索引修改为所述第二即时通讯消息的本项索引;修改单元,还被配置为如果所述第二即时通讯消息的前项索引与所述第一即时通讯消息的本项索引不相同,则将所述前项索引修改为所述第一即时通讯消息的本项索引。可选的,所述数据库的数据结构为雷迪斯redis的有序集zset时,所述装置还包括:第六确定单元,被配置为根据所述第一用户标识集合,确定关键值key;第六确定单元,还被配置为将所述目标即时通讯消息的所述本项索引作为分值score;第六确定单元,还被配置为将所述目标即时通讯消息作为内容member。根据本申请实施例的第三方面,提供一种服务器,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为执行存储器上所存放的程序时,实现任一第一方面所述的方法步骤。根据本申请实施例的第四方面,提供一种非临时性计算机可读存储介质,当所述存储介质中的指令由移动终端的处理器执行时,使得移动终端能够执行一种获取即时通讯消息的方法,所述方法包括:当接收到携带有待删除的目标即时通讯消息的消息标识、第一用户标识集合的消息删除请求时,在所述第一用户标识集合对应的目标消息列表中,确定所述消息标识对应的目标即时通讯消息,其中,所述目标消息列表用于存储用户标识集合、即时通讯消息、消息标识和即时通讯消息的索引信息的对应关系,所述用户标识集合包括即时通讯的发送方的用户标识和接收方的用户标识;将所述目标即时通讯消息、所述目标即时通讯消息的索引信息、以及所述第一用户标识集合存储到预设的数据库中,并从所述目标消息列表中删除所述目标即时通讯消息;当接收到携带有所述第一用户标识集合的查询请求时,获取所述第一用户标识集合对应的目标消息列表、所述数据库中存储的所述第一用户标识集合对应的目标即时通讯消息、以及所述目标即时通讯消息的索引信息;根据所述索引信息、预先存储的所述目标消息列表中多条即时通讯消息的索引信息,确定所述目标即时通讯消息在所述目标消息列表中的排列顺序,并根据所述目标即时通讯消息对应的排列顺序,得到包含所述目标即时通讯消息的目标消息列表。根据本申请实施例的第五方面,提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的获取即时通讯消息的方法。本申请的实施例提供的技术方案可以包括以下有益效果:当接收到查询请求时,可以获取第一用户标识集合对应的目标消息列表、数据库中存储的第一用户标识集合对应的目标即时通讯消息、以及目标即时通讯消息的索引信息;然后,根据索引信息、预先存储的目标消息列表中多条即时通讯消息的索引信息,确定目标即时通讯消息在目标消息列表中的排列顺序,并根据目标即时通讯消息对应的排列顺序,得到包含目标即时通讯消息的目标消息列表。采用本申请,可以快速的获取被删除的即时通讯消息,提供多个用户发出的全部即时通讯消息。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。附图说明此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。图1是根据一示例性实施例示出的一种获取即时通讯消息的方法的流程图。图2是根据一示例性实施例示出的一种基于信任链存储的目标列表的示例图。图3是根据一示例性实施例示出的一种获取即时通讯消息的方法的流程图。图4是根据一示例性实施例示出的一种获取即时通讯消息的方法的流程图。图5是根据一示例性实施例示出的一种获取即时通讯消息的装置的框图。图6是根据一示例性实施例示出的一种服务器的框图。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。本申请实施例提供了一种获取即时通讯消息的方法,应用于服务器中,服务器可以是即时通讯应用程序的后台服务器。在多个用户通过安装有即时通讯应用程序的终端进行即时通讯的过程中,服务器可以接收某一用户(即即时通讯的发送方)发出的消息传输请求,以将消息传输请求携带的即时通讯消息发送给其他用户(即即时通讯的接收方)。本申请实施例对接收即时通讯消息的接收方的个数不作具体限定。服务器可以针对发送方与接收方间的即时通讯建立消息列表,并基于作为发送方和接收方的多个用户的用户标识生成用户标识集合,存储用户标识集合与消息列表的对应关系。用户标识集合例如,当即时通讯的发送方的用户标识为uid1,即时通讯的接收方的用户标识为uid2时,用户标识集合可以包括uid1、uid2,例如,可以记为uid1-uid2。服务器可以在消息列表中存储用户标识集合、即时通讯消息、消息标识和即时通讯消息的索引信息的对应关系。在一种可行的实现方式中,即时通讯消息可以包含即时通讯消息的消息标识、即时通讯消息的索引信息、以及发出即时通讯消息的用户的用户标识。可选的,即时通讯消息的索引信息包括前项索引、本项索引和后项索引,本项索引为为即时通讯消息分配的索引,前项索引为在即时通讯消息之前接收到的、且与即时通讯消息的接收时间最接近的即时通讯消息的索引,后项索引为在即时通讯消息之后接收到的、且与即时通讯消息的接收时间最接近的即时通讯消息的索引。在实施中,服务器可以对消息列表中的多条即时通讯消息按照预设的排列顺序进行排序,得到多条即时通讯消息的排列顺序以及每条即时通讯消息的索引(即为该即时通讯消息的本项索引);服务器可以将在该排列顺序中,将排列在该即时通讯消息之前的即时通讯消息的索引作为该即时通讯消息的前项索引,并将排列在该即时通讯消息之后的即时通讯消息的索引作为该即时通讯消息的后项索引。预设的排列顺序可以是接收到携带有即时通讯消息的消息传输请求的时间的先后顺序,此时,某一条即时通讯消息的前项索引为在该即时通讯消息之前接收到的、且与该即时通讯消息的接收时间最接近的即时通讯消息的索引,后项索引为在该即时通讯消息之后接收到的、且与该即时通讯消息的接收时间最接近的即时通讯消息的索引。例如,针对12点4分50秒接收到的消息传输请求,服务器可以根据消息传输请求携带的用户标识集合确定目标消息列表,并根据接收到消息传输请求的时间,确定该消息传输请求携带的即时通讯消息在目标消息列表的多条即时通讯消息中的索引为3。服务器可以将3作为为该即时通讯消息分配的本项索引,将在该排列顺序中,排列在该即时通讯消息之前的即时通讯消息的索引2作为该即时通讯消息的前项索引,排列在该即时通讯消息之后的即时通讯消息的索引4作为该即时通讯消息的后项索引,由此确定即时通讯消息的索引信息,前项索引为2,本项索引为3,后项索引为4。图1是根据一示例性实施例示出的一种服务器基于索引信息存储即时通讯消息的方式,具体处理流程如下:在步骤s11中,接收消息传输请求。其中,消息传输请求中携带有目标即时通讯消息和第一用户标识集合。消息传输请求中还可以携带有消息传输请求的发送方的用户的标识。在实施中,服务器可以接收接收某一用户(即即时通讯的发送方)发出的消息传输请求,然后,获取消息传输请求携带的目标即时通讯消息和第一用户标识集合。例如,服务器可以获取消息传输请求携带的目标即时通讯消息“放学后在操场见面”和第一用户标识集合uid1-uid2。在步骤s12中,根据第一用户标识集合确定目标消息列表。在实施中,服务器中可以存储有用户标识集合和消息列表的对应关系,服务器可以判断用户标识集合和消息列表的对应关系中,是否存在与第一用户标识集合相同的用户标识集合,如果存在,则将该用户标识集合对应的消息列表作为目标消息列表。如果不存在,服务器则建立一个消息列表,作为目标消息列表,并对应存储第一用户标识集合和目标消息列表。表1是根据一示例性实施例示出的一种目标消息列表的示例,如表1所示,目标消息列表是第一用户标识集合uid1-uid2对应的消息列表,每条表项包括即时通讯消息、即时通讯消息的索引信息、即时通讯消息的消息标识、以及发出该即时通讯消息的用户的用户标识,例如本项索引为1的即时通讯消息的消息标识为uid1-1,发出该即时通讯消息的用户的用户标识为uid1。表1前项索引本项索引后项索引即时通讯消息12在吗/uid1-uid2/uid1-1123在的,有事?/uid1-uid2/uid2-1在步骤s13中,生成目标即时通讯消息的本项索引,并确定目标即时通讯消息的前项索引和后项索引,得到目标即时通讯消息的索引信息。在实施中,服务器可以针对目标消息列表中的即时通讯消息,按照预设的排列顺序确定目标即时通讯消息的本项索引,并将该排列顺序中,排列在目标即时通讯消息之前的即时通讯消息的本项索引,作为目标即时通讯消息的前项索引,排列在目标即时通讯消息之后的即时通讯消息的本项索引,作为目标即时通讯消息的后项索引,由此得到目标即时通讯消息的索引信息。在步骤s14中,在目标消息列表中,添加目标即时通讯消息、目标即时通讯消息的索引信息。在实施中,服务器可以按照排列顺序,在目标消息列表中添加目标即时通讯消息、目标即时通讯消息的索引信息的表项。表2是根据一示例性实施例示出的一种目标消息列表的示例,添加了目标即时通讯消息的目标消息列表如表2所示。表2本申请实施例中,服务器为接收到的即时通讯消息添加索引信息,建立相邻两条即时通讯消息的联系,即前一条即时通讯消息后项索引为后一条即时通讯消息的本项索引,后一条即时通讯消息的前项索引为前一条即时通讯消息本项索引,由此得到了目标消息列表中多条即时通讯消息的按照预设排列顺序从前到后、从后到前的两条信任链,可以保证建立的目标消息列表的连贯性,方便查找即时通讯消息。图2是根据一示例性实施例示出的目标消息列表包含的多条即时通讯消息以及即时通讯消息的索引信息的示意图。服务器基于即时通讯消息的索引信息,对多条即时通讯消息的按照预设排列顺序建立了从前到后、从后到前的两条信任链,即正向信任链和反向信任链。图3是根据一示例性实施例示出的一种获取即时通讯消息方法的流程图,如图3所示,该方法包括以下步骤。在步骤s31中,当接收到携带有待删除的目标即时通讯消息的消息标识、第一用户标识集合的消息删除请求时,在第一用户标识集合对应的目标消息列表中,确定消息标识对应的目标即时通讯消息。其中,目标消息列表用于存储用户标识集合、即时通讯消息、消息标识和即时通讯消息的索引信息的对应关系,用户标识集合包括即时通讯的发送方的用户标识和接收方的用户标识。在实施中,当用户想要删除某一条或多条即时通讯消息(即目标即时通讯消息)时,该用户会通过安装有即时通讯应用程序的终端,发送消息删除请求至服务器。消息删除请求可以携带有待删除的目标即时通讯消息的消息标识、第一用户标识集合,消息删除请求中还可以携带有发出消息删除请求的用户的用户标识。服务器可以在接收到消息删除请求后,获取消息删除请求携带的待删除的目标即时通讯消息的消息标识、第一用户标识集合,然后,根据预先存储的用户标识集合和消息列表的对应关系,在预先存储的多个消息列表中,确定第一用户标识集合对应的消息列表,得到目标消息列表。之后,服务器可以在目标消息列表中根据待删除的目标即时通讯消息的消息标识,确定包含该消息标识的即时通讯消息为目标即时通讯消息。在步骤s32中,将目标即时通讯消息、目标即时通讯消息的索引信息、以及第一用户标识集合存储到预设的数据库中,并从目标消息列表中删除目标即时通讯消息。在实施中,服务器中预设有数据库,数据库中存储有被删除的即时通讯消息、被删除的即时通讯消息的索引信息,以及被删除的即时通讯消息所属消息列表的第一用户标识集合的对应关系。例如,数据库中可以对应存储有目标即时通讯消息“放学后在操场见面”,目标即时通讯消息的本项索引3,目标即时通讯消息所属消息列表的第一用户标识集合uid1-uid2。服务器可以将目标即时通讯消息、目标即时通讯消息的索引信息、以及第一用户标识集合存储到预设的数据库中,并从目标消息列表中删除目标即时通讯消息。表3是根据一示例性实施例示出的一种目标消息列表的示例,删除了目标即时通讯消息的目标消息列表,如表3所示。表3前项索引本项索引后项索引即时通讯消息12在吗/uid1-uid2/uid1-1124在的,有事?/uid1-uid2/uid2-1245好的/uid1-uid2/uid2-2本申请实施例中,服务器可以在接收到某一个用户发出的消息删除请求时,确定目标即时通讯消息,并从目标消息列表中删除该目标即时通讯消息。服务器也可以在接收到进行即时通讯的所有用户发出的消息删除请求时,再从目标消息列表中删除该目标即时通讯消息,具体过程后续会进行详细说明。本申请实施例中,数据库的数据结构可以是多种多样的,在一种可行的实现方式中,数据库的数据结构可以是redis的有序集zset,此时,服务器将目标即时通讯消息、目标即时通讯消息的索引信息、以及第一用户标识集合存储到预设的数据库中包括:根据第一用户标识集合,确定关键值key;将目标即时通讯消息的本项索引作为分值score;将目标即时通讯消息作为内容member。在实施中,服务器可以将第一用户标识集合作为zset中的key,将目标即时通讯消息的本项索引作为zset中的score,将目标即时通讯消息作为member。例如,服务器可以将目标即时通讯消息的本项索引4作为score,将该目标即时通讯消息作为member,将确定出的score和member,对应存储到key为第一用户标识集合uid1-uid2的表项中。本申请实施例中,除本项索引外,服务器还可以将目标即时通讯消息的前项索引或后项索引作为score,本申请实施例不作具体限定。服务器选用redis的zset数据结构作为数据库的数据结构,对应存储第一用户标识集合、目标即时通讯消息的本项索引、以及目标即时通讯消息,使得目标即时通讯消息的存储与提取更加便捷。在步骤s33中,当接收到携带有第一用户标识集合的查询请求时,获取第一用户标识集合对应的目标消息列表、以及数据库中存储的第一用户标识集合对应的目标即时通讯消息、以及目标即时通讯消息的索引信息。在实施中,当即时通讯的发送方或接收方或除发送方和接收方以外第三方(例如执法机构的工作人员),需要获取发送方和接收方发出的全部即时通讯消息时,可以基于第一用户标识集合,生成查询请求,并发送查询请求至服务器。服务器在接收到查询请求时,可以获取查询请求携带的第一用户标识集合,然后,在预先存储的多个消息列表中,根据用户标识集合和消息列表的对应关系,确定第一用户标识集合对应的消息列表,得到目标消息列表;并在预设的数据库中,根据第一用户标识集合,确定第一用户标识集合对应的目标即时通讯消息、以及目标即时通讯消息的索引信息。在步骤s34中,根据索引信息、预先存储的目标消息列表中多条即时通讯消息的索引信息,确定目标即时通讯消息在目标消息列表中的排列顺序,并根据目标即时通讯消息对应的排列顺序,得到包含目标即时通讯消息的目标消息列表。在实施中,服务器可以将目标即时通讯消息的索引信息,与预先存储的目标消息列表中多条即时通讯消息的索引信息进行比较,确定目标即时通讯消息在目标消息列表中的排列顺序,并按照该排列顺序将目标即时通讯消息添加至目标消息列表中,得到包含目标即时通讯消息的目标消息列表。本申请实施例中,服务器基于目标即时通讯消息的索引信息,确定目标即时通讯消息在目标消息列表中的排列顺序的方式是多种多样的,在一种可行的实现方式中,服务器可以将目标即时通讯消息的本项索引,与目标消息列表中多条即时通讯消息的本项索引进行比较,确定目标即时通讯消息在目标消息列表中的排列顺序。例如,服务器可以将目标即时通讯消息“放学后在操场见面”的本项索引3,与目标消息列表中多条即时通讯消息的本项索引进行比较,确定目标即时通讯消息在目标消息列表中的排列顺序为:在本项索引为2的即时通讯消息之后,或在本项索引为4的即时通讯消息之前。然后,服务器可以在目标消息列表中本项索引为2的即时通讯消息的表项之后,或本项索引为4的即时通讯消息的表项之前,添加目标即时通讯消息的表项。表4是根据一示例性实施例示出的一种目标消息列表的示例,服务器确定出的包含目标即时通讯消息的目标消息列表,如表4所示。表4本申请实施例中,服务器通过将删除的目标即时通讯消息存储到数据库中,以实现在接收到查询请求时,从数据库中获取目标即时通讯消息、目标即时通讯消息的索引信息,再根据目标即时通讯消息的索引信息确定目标即时通讯消息在目标消息列表中的排列顺序,得到包含目标即时通讯消息在目标消息列表。基于本申请,可以快速的获取已删除的目标即时通讯消息,并还原多个用户发出的全部即时通讯消息。可选的,服务器在接收到进行即时通讯的所有用户发出的消息删除请求时,从目标消息列表中删除该目标即时通讯消息的具体处理流程如下:步骤一、获取发送携带有待删除的目标即时通讯消息的消息标识的消息删除请求的用户的用户标识,得到第二用户标识集合。在实施中,服务器可以在接收到消息删除请求后,获取消息删除请求携带的发出该消息删除请求的用户的用户标识和目标即时通讯消息的消息标识,并对应存储该用户标识与目标即时通讯消息的消息标识。然后,服务器可以获取该消息标识对应的用户标识,得到第二用户标识集合。例如,服务器可以在接收到消息删除请求后,获取消息删除请求携带的发出该消息删除请求的用户的用户标识uid1和目标即时通讯消息的消息标识a,并对应存储该用户标识uid1与目标即时通讯消息的消息标识a。然后,服务器可以获取该消息标识a对应的用户标识uid1和uid2,得到第二用户标识集合uid1-uid2。步骤二、判断第二用户标识集合与第一用户标识集合是否相同,如果相同,则执行将目标即时通讯消息、目标即时通讯消息的索引信息、以及第一用户标识集合存储到预设的数据库中,并从目标消息列表中删除目标即时通讯消息步骤。在实施中,服务器可以判断第二用户标识集合与第一用户标识集合包含的用户标识是否相同,如果相同,则说明进行即时通讯的发送方和接收方均请求删除目标即时通讯消息,服务器则执行步骤s32。例如,第一用户标识集合为uid1-uid2,第二用户标识集合为uid1-uid2,服务器可以判断第二用户标识集合与第一用户标识集合包含的用户标识相同,执行步骤s32。当服务器基于索引信息存储多条即时通讯消息时,服务器可以在接收到查询请求时,通过检查目标消息列表的信任链的链接关系是否连续,确定是否存在被删除的目标即时通讯消息,如图4所示,具体执行过程包括:步骤s41,针对目标消息列表中的相邻的第一即时通讯消息和第二即时通讯消息,判断第一即时通讯消息的后项索引与第二即时通讯消息的本项索引是否相同,或第二即时通讯消息的前项索引与第一即时通讯消息的本项索引是否相同。在实施中,服务器可以针对目标消息列表中的相邻的任意两条即时通讯消息,将一条即时通讯消息作为第一即时通讯消息,另一条即时通讯消息作为第二即时通讯消息,判断第一即时通讯消息的后项索引与第二即时通讯消息的本项索引是否相同,或第二即时通讯消息的前项索引与第一即时通讯消息的本项索引是否相同。例如,目标消息列表中第一即时通讯消息的索引信息包括本项索引2,前项索引1,后项索引3,与该第一即时通讯消息相邻的第二即时通讯消息的索引信息包括本项索引4,前项索引3,后项索引5。服务器针对第一即时通讯消息和第二即时通讯消息,判断第一即时通讯消息的后项索引3与第二即时通讯消息的本项索引4不相同,或判断第二即时通讯消息的前项索引3与第一即时通讯消息的本项索引2不相同。步骤s42,如果第一即时通讯消息的后项索引与第二即时通讯消息的本项索引不相同,或第二即时通讯消息的前项索引与第一即时通讯消息的本项索引不相同,则确定存在被删除的目标即时通讯消息。在实施中,如果出现第一即时通讯消息的后项索引与第二即时通讯消息的本项索引不相同,或第二即时通讯消息的前项索引与第一即时通讯消息的本项索引不相同,则确定存在被删除的目标即时通讯消息。例如,服务器判断第一即时通讯消息的后项索引3与第二即时通讯消息的本项索引4不相同,则可以确定本项索引为3的目标即时通讯消息被删除;或服务器判断第二即时通讯消息的前项索引3与第一即时通讯消息的本项索引2不相同,则可以确定本项索引为3的目标即时通讯消息被删除。本申请实施例中,服务器可以通过确定目标消息列表中相邻两个即时通讯消息的对应索引信息的是否相同,判断信任链是否发生断裂,即是否存在被删除的目标即时通讯消息,以及被删除的目标即时通讯消息的索引信息。当服务器确定信任链未断裂时,可以直接将目标消息列表中的全部即时通讯消息提供给第三方,当服务器确定信任链断裂时,服务器可以从数据库中快速的获取已删除的目标即时通讯消息,并根据目标消息列表中的即时通讯消息,还原多个用户发出的全部即时通讯消息。当服务器确定存在被删除的目标即时通讯消息后,服务器还可以对断裂的信任链进行修改,修改的具体处理流程分为以下两种情况:情况一、如果第一即时通讯消息的后项索引与第二即时通讯消息的本项索引不相同,则将后项索引修改为第二即时通讯消息的本项索引。例如,第一即时通讯消息的索引信息包括本项索引2,前项索引1,后项索引3,第二即时通讯消息的索引信息包括本项索引4,前项索引3,后项索引5。如果第一即时通讯消息的后项索引3与第二即时通讯消息的本项索引4不相同,则服务器可以将第一即时通讯消息的后项索引修改为4。情况二、如果第二即时通讯消息的前项索引与第一即时通讯消息的本项索引不相同,则将前项索引修改为第一即时通讯消息的本项索引。在实施中,如果第二即时通讯消息的前项索引与第一即时通讯消息的本项索引不相同,则服务器可以将第二即时通讯消息的前项索引修改为第一即时通讯消息的本项索引。例如,如果第二即时通讯消息的前项索引3与第一即时通讯消息的本项索引2不相同,服务器可以将第二即时通讯消息的前项索引修改为2。本申请实施例中,服务器可以根据信任链断裂的情况,对即时通讯消息的索引信息进行修改,以使删除了目标即时通讯消息的信任链仍能保持连接,便于服务器基于信任链的连接情况,判断是否存在被删除的目标即时通讯消息。本申请的实施例提供的一种获取即时通讯消息的方法,当接收到查询请求时,可以获取第一用户标识集合对应的目标消息列表、数据库中存储的第一用户标识集合对应的目标即时通讯消息、以及目标即时通讯消息的索引信息;然后,根据索引信息、预先存储的目标消息列表中多条即时通讯消息的索引信息,确定目标即时通讯消息在目标消息列表中的排列顺序,并根据目标即时通讯消息对应的排列顺序,得到包含目标即时通讯消息的目标消息列表。采用本申请,可以快速的获取被删除的即时通讯消息,提供多个用户发出的全部即时通讯消息。图5是根据一示例性实施例示出的一种获取即时通讯消息的装置的装置框图。参照图5,该装置包括第一确定单元510,存储单元520,第一获取单元530和第二确定单元540。第一确定单元510,被配置为当接收到携带有待删除的目标即时通讯消息的消息标识、第一用户标识集合的消息删除请求时,在所述第一用户标识集合对应的目标消息列表中,确定所述消息标识对应的目标即时通讯消息,其中,所述目标消息列表用于存储用户标识集合、即时通讯消息、消息标识和即时通讯消息的索引信息的对应关系,所述用户标识集合包括即时通讯的发送方的用户标识和接收方的用户标识;存储单元520,被配置为将所述目标即时通讯消息、所述目标即时通讯消息的索引信息、以及所述第一用户标识集合存储到预设的数据库中,并从所述目标消息列表中删除所述目标即时通讯消息;第一获取单元530,被配置为当接收到携带有所述第一用户标识集合的查询请求时,获取所述第一用户标识集合对应的目标消息列表、所述数据库中存储的所述第一用户标识集合对应的目标即时通讯消息、以及所述目标即时通讯消息的索引信息;第二确定单元540,被配置为根据所述索引信息、预先存储的所述目标消息列表中多条即时通讯消息的索引信息,确定所述目标即时通讯消息在所述目标消息列表中的排列顺序,并根据所述目标即时通讯消息对应的排列顺序,得到包含所述目标即时通讯消息的目标消息列表。可选的,所述即时通讯消息的索引信息包括前项索引、本项索引和后项索引,所述本项索引为为所述即时通讯消息分配的索引,所述前项索引为在所述即时通讯消息之前接收到的、且与所述即时通讯消息的接收时间最接近的即时通讯消息的索引,所述后项索引为在所述即时通讯消息之后接收到的、且与所述即时通讯消息的接收时间最接近的即时通讯消息的索引。可选的,所述装置还包括:接收单元,被配置为接收消息传输请求,所述消息传输请求中携带有所述目标即时通讯消息和所述第一用户标识集合;第三确定单元,被配置为根据所述第一用户标识集合确定目标消息列表;第四确定单元,被配置为生成所述目标即时通讯消息的本项索引,并确定所述目标即时通讯消息的前项索引和后项索引,得到所述目标即时通讯消息的索引信息;添加单元,被配置为在所述目标消息列表中,添加所述目标即时通讯消息、所述目标即时通讯消息的索引信息。可选的,所述装置还包括:第二获取单元,被配置为获取发送携带有待删除的目标即时通讯消息的消息标识的消息删除请求的用户的用户标识,得到第二用户标识集合;第一判断单元,被配置为判断所述第二用户标识集合与所述第一用户标识集合是否相同,如果相同,则执行将所述目标即时通讯消息、所述目标即时通讯消息的索引信息、以及所述第一用户标识集合存储到预设的数据库中,并从所述目标消息列表中删除所述目标即时通讯消息步骤。可选的,所述装置还包括:第二判断单元,被配置为针对所述目标消息列表中的相邻的第一即时通讯消息和第二即时通讯消息,判断所述第一即时通讯消息的后项索引与所述第二即时通讯消息的本项索引是否相同,或所述第二即时通讯消息的前项索引与所述第一即时通讯消息的本项索引是否相同;第五确定单元,被配置为如果所述第一即时通讯消息的后项索引与所述第二即时通讯消息的本项索引不相同,或所述第二即时通讯消息的前项索引与所述第一即时通讯消息的本项索引不相同,则确定存在被删除的目标即时通讯消息。可选的,所述装置还包括:修改单元,被配置为如果所述第一即时通讯消息的后项索引与所述第二即时通讯消息的本项索引不相同,则将所述后项索引修改为所述第二即时通讯消息的本项索引;修改单元,还被配置为如果所述第二即时通讯消息的前项索引与所述第一即时通讯消息的本项索引不相同,则将所述前项索引修改为所述第一即时通讯消息的本项索引。可选的,所述数据库的数据结构为雷迪斯redis的有序集zset时,所述装置还包括:第六确定单元,被配置为根据所述第一用户标识集合,确定关键值key;第六确定单元,还被配置为将所述目标即时通讯消息的所述本项索引作为分值score;第六确定单元,还被配置为将所述目标即时通讯消息作为内容member。关于上述实施例中的装置,其中各个单元执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。本申请的实施例提供了一种获取即时通讯消息的装置,当接收到查询请求时,可以获取第一用户标识集合对应的目标消息列表、数据库中存储的第一用户标识集合对应的目标即时通讯消息、以及目标即时通讯消息的索引信息;然后,根据索引信息、预先存储的目标消息列表中多条即时通讯消息的索引信息,确定目标即时通讯消息在目标消息列表中的排列顺序,并根据目标即时通讯消息对应的排列顺序,得到包含目标即时通讯消息的目标消息列表。采用本申请,可以快速的获取被删除的即时通讯消息,提供多个用户发出的全部即时通讯消息。图6是根据一示例性实施例示出的一种用于获取即时通讯消息的装置600的框图。例如,装置600可以被提供为一服务器。参照图6,装置600包括处理组件622,其进一步包括一个或多个处理器,以及由存储器632所代表的存储器资源,用于存储可由处理组件622的执行的指令,例如应用程序。存储器632中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件622被配置为执行指令,以执行上述方法……装置600还可以包括一个电源组件626被配置为执行装置600的电源管理,一个有线或无线网络接口650被配置为将装置600连接到网络,和一个输入输出(i/o)接口658。装置600可以操作基于存储在存储器632的操作系统,例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm或类似。本申请的实施例提供了一种服务器,当接收到查询请求时,可以获取第一用户标识集合对应的目标消息列表、数据库中存储的第一用户标识集合对应的目标即时通讯消息、以及目标即时通讯消息的索引信息;然后,根据索引信息、预先存储的目标消息列表中多条即时通讯消息的索引信息,确定目标即时通讯消息在目标消息列表中的排列顺序,并根据目标即时通讯消息对应的排列顺序,得到包含目标即时通讯消息的目标消息列表。采用本申请,可以快速的获取被删除的即时通讯消息,提供多个用户发出的全部即时通讯消息。本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本申请未公开的本
技术领域
中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1