通信记录的恢复方法、装置及服务器的制造方法_3

文档序号:9250911阅读:来源:国知局
录。
[0146]本公开实施例中,第二通信记录为本端用户与各对端用户之间的通信记录。在两个用户之间、或用户数多于两个的群组的用户之间进行聊天时,通信记录、即聊天信息会保存在聊天的各用户所使用的终端中。为了便于理解后续解释确定针对本端用户的通信记录的过程,本公开实施例先详细描述基于通信软件的聊天过程。并且,将聊天用户数为两个的群组称为第一群组,将聊天用户数多于两个的群组称为第二群组。
[0147]服务器接收到本端用户发送的消息M,消息内容为C,本公开实施例中可以将该消息M表示为:M[内容:C]。
[0148]服务器接收到该消息M之后,将接收该消息的时间作为时间戳T,将时间戳T、用户ID (例如jy)添加到该消息M中。
[0149]服务器还基于用户ID、消息内容C以及时间戳T生成针对该消息M的全局唯一标识U,并将该全局唯一标识U也添加到该消息M中,这时候的消息M可以表示为:M’ [内容:C ;时间戳:T ;用户ID:jy ;全局唯一标识:U] O
[0150]服务器将该消息Μ’发送给当前与用户聊天的目标用户。这里的目标用户可以为第一群组中的好友用户,也可以为第二群组中的全部用户。
[0151]接收到消息Μ’的目标用户的终端将该消息Μ’的内容C在聊天窗口中进行显示。
[0152]然后,本公开实施例对步骤102进行说明。
[0153]第一种情况,服务器获取第一群组的对端用户发送的第一通信记录。
[0154]这种情况下,将服务器接收到的来自对端用户的通信记录称之为第一通信记录,各第一通信记录中可以包含多条聊天信息。对于每一条第一通信记录,首先,服务器都读取其所包含的各聊天信息的时间戳,然后,服务器根据时间戳的先后顺序对聊天信息进行排序,从而得到来自不同对端用户的通信记录列表,服务器将整理后的这些来自不同对端用户的通信记录列表的集合确定为针对本端用户的第二通信记录。
[0155]第二种情况,服务器获取第二群组中的对端用户发送的第一通信记录。
[0156]第二群组中的用户发送的第一通信记录,由于具有很多重复的聊天信息,如果全部作为针对本端用户的第二通信记录发给本端用户,不仅服务器的任务较重,而且重复的聊天信息也会给本端用户查看通信记录带来不好的用户体验。因而,对于来自第二群组的用户的第一通信记录,需要进行一些处理,可以为:对第一通信记录进行合并,该合并后的第一通信记录中不包含重复的聊天信息。
[0157]该合并的过程可以为,服务器从获取到的来自第二群组的对端用户的第一通信记录中,选择一个作为参考通信记录,读取该参考通信记录中的每一条聊天信息的时间戳,并根据时间戳对参考通信记录中的聊天信息进行排序,得到一个通信记录列表,这里称之为参考通信记录列表。其中,参考通信记录可以为服务器最先接收到的第一通信记录,也可以为聊天信息的个数最多的第一通信记录,也可以为任选的一个第一通信记录。
[0158]然后,对于服务器获取到的来自第二群组对端用户的除参考通信记录以外的其他第一通信记录,逐一读取该其他第一通信记录中的聊天信息,并读取各聊天信息的全局唯一标识,然后将该全局唯一标识与参考通信记录列表中的每条聊天信息所携带的全局唯一标识进行比对,判断该全局唯一标识是否已存在于参考通信记录列表的各聊天信息中,如果不存在,则基于该聊天信息的时间戳,将其添加到参考通信记录列表中。如果存在,则说明参考通信记录列表中已经存在同样的聊天信息,因而可以将该聊天信息丢弃。
[0159]在服务器对来自所有群组对端用户的其他第一通信记录都做上述处理之后,将经过添加的参考通信列表作为针对本端用户的第二通信记录。
[0160]本公开实施例中,在确定针对本端用户的第二通信记录之后,服务器可以对该第二通信记录做拆分和聚合处理,例如,根据来自第一群组对端用户还是来自第二群组对端用户对所确定的第二通信记录做聚合;也可以基于设定时间段对所确定的第二通信记录做聚合,例如按天、按星期进行聚合,等等。
[0161]需要说明的是,从第二群组的对端用户处获取的第一通信记录可以为针对第二群组的全部通信记录,也可以为仅针对本端用户的通信记录,可以基于网络带宽的状况来决定。
[0162]步骤103、向终端发送所确定的第二通信记录。
[0163]最后,服务器将该确定的第二通信记录发送给终端,终端将其显示给本端用户。
[0164]本公开实施例中,服务器在向终端发送第二通信记录之前,也可以先检测终端的空闲存储,判断终端的空闲存储是否足够用于存储该第二通信记录。如果判断为终端的空闲存储小于第二通信记录的大小,则服务器可以向终端发送存储空间不够的提醒,以便用户对终端的存储容量进行整理。
[0165]本公开实施例中,为进一步确保该第二通信记录的安全性,服务器可以对第二通信记录进行加密,例如通过http协议将第二通信记录进行加密处理,再发送给终端;因而终端接收到该加密的第二通信记录之后,可以提醒本端用户输入密码,该密码为本端用户预先设置的密码,只有在本端用户输入了正确的密码,才能查看该第二通信记录的内容。从而使得即使他人获取了该第二通信记录,也不能查看该第二通信记录,确保通信记录的隐私性和保密性。终端可以将接收到的第二通信记录根据对端用户的不同存储到不同的位置。
[0166]本公开实施例中,服务器也可以将第二通信记录打包成数据包进行发送,那么在终端接收到该数据包之后,还需要对数据包进行解压缩,再根据对端用户的不同将第二通信记录存储到不同的位置。
[0167]在接收服务器发送的第二通信记录的过程中,有可能因为网络状况不佳导致传输中断,这种情况下服务器可以向终端发送提示信息,终端可以基于该提示信息通过操作界面提示用户是否重试,并在用户选择了重试,并且与网络重新连接成功之后继续发送第二通信记录;或者在另一种情况下,用户还可以根据自己的情况随时中断第二通信记录的恢复,这种情况下,如果是在第二通信记录的发送过程中本端用户中断了第二通信记录的恢复,则服务器支持断点续传,服务器记录已经发送了的第二通信记录,以及还未发送的第二通信记录,当恢复了传输过程之后,不必重新发送整个第二通信记录,而是继续传输未发送的部分第二通信记录即可。
[0168]结合前述图1示出的实施例,如图2A和图2B所示,图2A是本公开根据一示例性实施例示出的一种通信记录的恢复应用场景示意图,图2B是本公开根据一示例性实施例示出的另一种通信记录的恢复应用场景示意图。
[0169]图2A中包括:服务器,以及作为终端的手机。其中,手机通过网络与服务器连接。服务器可以为微信服务器。可以理解的是,本实施例的终端仅以手机为例进行说明,实际应用中终端还可以是PC或平板电脑等其他具备通信记录恢复功能的终端。
[0170]在图2B所示的场景中,手机用户X在该手机上使用通信工具微信,其微信通信录中具有好友用户A、B和C,并且,用户X还加入了一个群组M,该群组中的用户为X、C、D和Eo其中用户D和E不是用户X的好友用户,这里将群组中的用户X、C、D和E统称为第二群组用户。
[0171]当用户X需要恢复通信记录时,通过手机向服务器发送通信记录恢复请求,请求恢复全部用户的通信记录。服务器根据该请求向其好友用户A、B、C以及群组用户C、D和E发送上传与用户X通信的通信记录的指令。用户A、B、C、D和E基于该指令将所存储的与用户X通信的第一通信记录发送给服务器。
[0172]第一通信记录中包括各聊天信息,对于好友用户A、B和C发送的第一通信记录,对每一条第一通信记录,服务器都读取其中所包含的各聊天信息的时间戳,并根据时间戳对聊天信息进行排列。根据好友用户的不同,服务器可以将来自好友用户A的第一通信记录整理成通信记录列表A,将来自好友用户B的第一通信记录整理成通信记录列表B,将来自好友用户C的第一通信记录整理成通信记录列表C。
[0173]对于第二群组用户C、D和E发送的第一通信记录,假设第二群组用户D最先将第一通信记录D发给了服务器,服务器将来自第二群组用户D的第一通信记录确定为参考通信记录。该参考通信记录共包含10条聊天信息,则服务器根据该10条聊天信息的时间戳,按照时间的先后顺序对其进行排序,从而生成参考通信记录列表D’。然后,服务器接收到第二群组用户E上传的第一通信记录E,假设该第一通信记录E中包含6条聊天信息,服务器逐一读取该6条聊天信息,并获得各聊天信息的全局唯一标识U1、U7、U8、U11、U12和U13,然后将该6个全局唯一标识与参考通信记录列表D’中的每条聊天信息所携带的全局唯一标识进行比对,判断该6个全局唯一标识是否存在于参考通信记录列表D’的各聊天信息中,假设全局唯一标识U7和U12不存在于参考通信记录列表D的聊天信息中,则服务器将U7和U12对应的两条聊天信息,基于该两条聊天信息的时间戳将其添加到参考通信记录列表D’中。对于剩下的全局唯一标识U1、U8、U11和U13,由于已经存在于参考通信记录列表D’中,则说明参考通信记录列表D’中已经存在对应于这些全局唯一标识的同样的聊天信息,因而可以将全局唯一标识U1、U8、Ull和U13对应的聊天信息丢弃。
[0174]对于最后接收到的来自用户C的第一通信记录C,服务器对第一通信记录C做与第一通信记录E同样的处理,最后处理参考通信记录列表D’得到针对用户X的通信记录列表D,,。
[0175]从而,服务器获得了通信记录列表A、B、C以及D”。服务器对该通信记录列表A、B、C和D”可以进行一些聚合处理再发送给手机,手机根据用户的不同将通信记录恢复在不同的位置。
[0176]与前述通信记录的恢复方法实施例相对应,本公开还提供了通信记录的恢复装置及其所应用的服务器的实施例。
[0177]如图3所示,图3是本公开根据一示例性实施例示出的一种通信记录的恢复装置框图,所述装置包括:第一通信记录获取模块310、第二通信记录确定模块320和第二通信记录发送模块330。
[0178]其中,第一通信记录获取模块310,被配置为基于来自本端用户的终端的通信记录恢复请求,从本端用户的对端用户处获取第一通信记录,第一通信记录为与本端用户相关的通信记录;
[0179]第二通信记录确定模块320,被配置为基于获取的第一通信记录,确定第二通信记录,第二通信记录为本端用户与各对端用户之间的通信记录;
[0180]第二通信记录发送模块330,被配置为将第二通信记录发送给终端。
[0181]上述实施例中,服务器在接收到来自本端用户的通信记录恢复请求时,通过从该本端用户的对端用户处获取的第一通信记录,并基于该第一通信记录确定针对本端用户的第二通信记录,从而能够有效为本端用户恢复绝大部分甚至是全部的通信记录,而且可靠性尚,易于实现。
[0182]如图4所示,图4是本公开根据一示例性实施例示出的另一种通信记录的恢复装置框图,该实施例在前述图3所示实施例的基础上,第二通信记录确定模块320包括:时间戳读取子模块321、排序子模块3
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1