实现消息在不同终端漫游的方法及系统的制作方法_3

文档序号:8907602阅读:来源:国知局
,目标頂客户端21首先根据自身的现有功能完成初始化操作,之后进入Π模块214的最近联系人界面。进入最近联系人界面时,目标IM客户端21首先通过数据存储模块213加载本地数据库中的最后一条信息和未读条数通过UI模块214进行展示。同时,目标頂客户端21的通讯接口模块211向通讯服务端20的通讯接口模块201发送离线消息请求,请求参数包括当前用户ID和最近联系人的人员ID。服务端20的通讯接口模块201将离线消息请求转交给持久化数据管理模块204,由持久化数据管理模块204根据用户ID和对应的人员ID查询云端2040中存储的数据,将符合条件的每个离线会话对应的最后一条离线消息内容和离线消息条数等信息发送给协议编解码模块202,由协议编解码模块202将数据编码后通过通讯接口模块201返回给目标M客户端21的通讯接口模块211。之后,通讯接口模块211将数据包转交给协议编解码模块212进行解析后,发送给数据存储模块213以按照人员ID将最后一条离线消息内容和离线消息条数分类存储,存储后按照最新的数据存储内容刷新Π模块214,以向用户展示最近联系人的最新离线消息内容。
[0070]当用户点击进入某个具体的聊天会话的聊天界面时,IM客户端21首先加载本地数据存储模块213中的最新的15条消息记录通过UI模块214中显示。同时,目标頂客户端21的通讯接口模块211向通讯服务端20的通讯接口模块201发送最新消息请求,请求参数包括当前用户ID和对应会话的人员ID。服务端20的通讯接口模块201将最新消息请求转交给持久化数据管理模块204,由持久化数据管理模块204根据用户ID和对应的人员ID查询云端2040中存储的数据,将符合条件的最新的15条信息记录发送给协议编解码模块202,由协议编解码模块202将数据编码后通过通讯接口模块201返回给目标IM客户端21的通讯接口模块211。之后,通讯接口模块211将数据包转交给协议编解码模块212进行解析后,发送给数据存储模块213,有数据存储模块213将最新消息按照serverlD与本地的消息进行比较,如果本地不存在当前serverlD的消息,就将对应serverlD的最新消息在本地存储。完成对比和存储合并后,按照最新的数据存储内容刷新Π模块214,以向用户展示所有终端合并后的最新消息内容。
[0071 ] 需要说明的是,通讯服务端20还包括一个数据缓存模块203设置为接收协议编解码模块202的编码消息数据包,通过分布式交换信息技术将数据包压入缓存队列,等待转发给目标IM客户端,这和现有技术相同。现有技术是通过数据缓存进行消息的即时通信的,即当有消息来而对方在线时,就通过从队列头读取最早压入队列的消息,和将最新来的消息压入队列未实现与客户端的即时通信的。这样的方式,IM客户端接收到的都是缓存队列中读取的最新消息,由于不能持久化存储,在当前客户端读取走之后,用户在不同的客户端登录时就无法获取到,因而只适合进行即时消息显示,不能进行不同终端的漫游。本发明在将消息压入队列后同时存储在云端数据库,用户在不同终端登录时,通过通讯服务端的持久化云存储和IM客户端的自动消息请求,实现了消息在不同终端的自动化漫游加载,用户不需要任何设置和手动同步操作就可以看到在所有终端的消息记录,使消息在不同终端的漫游同步的过程变得非常简单便捷,提高了用户体验。而且每次获取固定数目的最新消息,根据用户终端的屏幕平滑展示消息内容,当用户下拉时自动加载不用另开窗口查看消息记录,使消息漫游更加人性化。
[0072] 以上所述的仅是本发明的一些实施方式。对于本领域的普通技术人员来说,在不脱离本发明创造构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。
【主权项】
1.实现消息在不同终端漫游的方法,包括: A、通讯服务端解析接收到的消息数据并重新编码打包后存储; B、目标IM客户端向所述通讯服务端提交获取消息数据的请求; C、所述通讯服务端根据所述请求返回符合条件的消息数据包; D、所述目标IM客户端接收所述数据包,解析存储并输出显示。2.根据权利要求1所述的方法,其中,所述步骤A包括: 通讯服务端通过通讯接口接收源頂客户端的消息数据,存储所述源頂客户端的连接用户ID和对应的连接地址; 所述通讯服务端解析所述消息数据,并将解析出的消息数据重新编码打包; 所述通讯服务端将所述打包的消息数据存储。3.根据权利要求2所述的方法,其中,所述通讯服务端通过将所述消息数据根据字节数组的协议结构进行反序列化实现所述解析,通过根据字节数组的协议结构进行序列化实现编码。4.根据权利要求3所述的方法,其中,所述字节数组的协议结构包括消息头和消息体,所述消息头包括消息体的字节长度和接口代码,所述消息体包括发送者ID、接收者ID、消息数据长度及消息数据内容。5.根据权利要求1所述的方法,其中,在进入联系人界面时,所述步骤B包括: 所述目标頂客户端向所述通讯服务端发送离线消息请求; 所述步骤C包括: 所述通讯服务端根据所述离线消息请求查询云存储获取符合条件的离线数据,将数据编码后返回给所述目标IM客户端; 所述步骤D包括: 所述目标IM客户端接收所述离线数据,将最后一条离线消息内容和离线消息条数按照人员ID分类存储,并输出显示。6.根据权利要求1所述的方法,其中,在进入聊天界面时,所述步骤B包括: 所述目标頂客户端向所述通讯服务端发送最新消息请求; 所述步骤C包括: 所述通讯服务端根据所述最新消息请求查询云存储获取符合条件的最新的消息记录给所述目标頂客户端; 所述步骤D包括: 所述目标頂客户端将接收到的所述消息记录与本地存储的消息记录进行合并,更新本地存储; 所述目标頂客户端从已更新的本地存储数据中获取最新的消息记录输出显示。7.消息在不同终端漫游的系统,包括:IM客户端和通讯服务端; 所述頂客户端包括客户端通讯接口模块、客户端协议编解码模块、存储模块和UI模块; 所述通讯服务端包括服务端通讯接口模块、服务端协议编解码模块和持久化数据管理丰吴块; 所述IM客户端通过所述客户端通讯接口模块连接所述通讯服务端,向所述服务端通讯接口模块发送消息数据和数据请求,并接收所述通讯服务端返回的消息数据包; 所述客户端协议编解码模块设置为解析所述消息数据包,输出至所述存储模块存储和输出至ui 1?块显不; 所述服务端协议编码模块设置为解析和编码所述消息数据,输出至所述持久化数据管理模块存储。8.根据权利要求7所述的系统,其中,所述客户端协议编解码模块和所述服务端协议编解码模块设置为通过将消息数据根据字节数组的协议结构进行序列化和反序列化,进行消息数据的编码和解析。9.根据权利要求8所述的系统,其特征在于,所述字节数组的协议结构包括消息头和消息体,所述消息头包括消息体的字节长度和接口代码,所述消息体包括发送者ID、接收者ID、消息数据长度及消息数据内容。10.根据权利要求7所述的系统,所述数据请求包括离线消息请求和最新消息请求; 当为离线消息请求时,所述Π模块设置为根据所述离线消息请求的结果,按人员ID输出显示最后一条离线消息内容和离线消息条数; 当为最新消息请求时,所述Π模块设置为根据所述最新消息请求的结果,输出显示固定数目的云端存储的最新消息记录。
【专利摘要】本发明公开一种实现消息在不同终端漫游的方法,包括:A、通讯服务端解析接收到的消息数据并重新编码打包后存储;B、目标IM客户端向所述通讯服务端提交获取消息数据的请求;C、所述通讯服务端根据所述请求返回符合条件的消息数据包;D、所述目标IM客户端接收所述数据包,解析存储并输出显示。本发明还公开了一种消息在不同终端漫游的系统。通过本发明提供的方法和系统,无需任何设置及手动同步,就能够实现云消息在不同终端的漫游,使消息漫游更加简单方便和人性化。
【IPC分类】H04L12/58, H04L29/08
【公开号】CN104883292
【申请号】CN201510182847
【发明人】何中, 杨燕龙, 顾永新, 严伟, 戴建峰, 张龙, 石武, 朱毅
【申请人】江苏中威科技软件系统有限公司
【公开日】2015年9月2日
【申请日】2015年4月16日
当前第3页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1