[发明专利]多终端消息同步和隔离即时通讯方法及系统有效
| 申请号: | 201810272438.3 | 申请日: | 2018-03-29 |
| 公开(公告)号: | CN108667899B | 公开(公告)日: | 2021-04-20 |
| 发明(设计)人: | 沈伟锐 | 申请(专利权)人: | 挂号网(杭州)科技有限公司 |
| 主分类号: | H04L29/08 | 分类号: | H04L29/08;H04L29/06;H04L12/58;H04L5/00 |
| 代理公司: | 杭州求是专利事务所有限公司 33200 | 代理人: | 邱启旺 |
| 地址: | 311200 浙江省杭州市*** | 国省代码: | 浙江;33 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 终端 消息 同步 隔离 即时通讯 方法 系统 | ||
1.一种多终端消息同步和隔离即时通讯方法,其特征在于,包括:
步骤S1用户通过发送端进行登录校验,与服务器建立连接;
步骤S2发送端将消息发送给服务器,所述消息包括消息ID、消息类型编码、发送方用户ID、发送方终端编码、接收方用户ID、接收方终端编码以及消息内容;
步骤S3服务器对接收到的消息进行消息格式及合法性校验;校验通过后,根据消息类型编码,生成同一消息类型全局唯一的同步ID;
步骤S4服务器把生成同步ID和消息一起存储到数据库表MSG_HIS中,每个消息类型对应一张消息历史表;
步骤S5服务器向发送端发送确认报文ACK,确认报文ACK里返回消息ID对应的同步ID,发送端把收到同步ID更新到刚才发送的消息中,并一起存储到本地;同时,服务器根据消息类型、消息内容和预先配置好的分发规则进行过滤分发处理;
步骤S6接收端接收服务器分发的消息,主要分在线接收消息和离线同步消息;
若接收端在线,直接收取服务端推送的在线消息,并返回确认报文ACK给服务端,服务端收到确认报文ACK,说明服务端消息分发结束;
若接收端离线,服务器对分发的消息进行离线存储处理,等接收端登录后,再根据接收端本地存储的消息类型对应的消息同步ID,进行消息同步确认及同步处理,拉取离线消息;
其中所述步骤S6中,根据接收端本地存储的消息类型对应的消息同步ID,进行消息同步确认及同步处理,拉取离线消息,具体如下:
步骤S601接收端获取本地同步表MSG_SYNC里的消息类型及对应的消息同步ID;
步骤S602接收端分别发送每个消息类型的同步确认报文SYNC_CHK,所述同步确认报文SYNC_CHK包括消息ID、消息类型编码、用户ID、请求同步消息类型和同步ID;
步骤S603服务端收到同步确认报文SYNC_CHK后,查询服务端的数据库表MSG_HIS、同步表MSG_SYNC及分发错误表MSG_SEND_ERROR里对应用户ID及消息类型的最小同步ID,再跟接收到的报文里的同步ID对比,如果报文里的同步ID小,取报文里的同步ID,反之则取最小同步ID并再减1,设置同步ID到同步结果报文SYNC_CHK_RST里,返回同步结果给接收端,所述同步结果报文SYNC_CHK_RST包括消息ID、消息类型编码、请求同步消息类型和同步ID;
步骤S604接收端收到同步结果报文SYNC_CHK_RST的消息类型及同步ID后,更新本地同步表MSG_SYNC里对应消息类型的本地同步ID;
步骤S605接收端向服务端发送同步请求报文SYNC_REQ,所述同步请求报文SYNC_REQ包括消息ID、消息类型编码、用户ID、请求同步消息类型和本地同步ID;
步骤S606服务端收到同步请求报文SYNC_REQ后,查询服务端的数据库表MSG_HIS,返回满足下述条件的指定条数的消息记录,条件为:1)与接收方用户ID相等,2)与接收方终端编码相等或者接收方终端编码为空,3)同步ID大于报文里的同步ID;
步骤S607服务器对获得的消息记录,进行过滤分发处理,返回匹配的离线记录,并设置到返回报文SYNC_RESP里,一次离线同步处理结束;
步骤S608接收端收到SYNC_RESP后,对离线记录里的历史消息,逐条进行下述处理:接收端根据消息类型,查询本地对应消息类型的本地数据库消息表,表中如果同步ID存在,说明已经收过该消息,该条历史消息处理结束;如果不存在,则存储该消息到消息表;
步骤S609获取返回报文里历史消息的最大的同步ID,跟本地表MSG_SYNC中该消息类型的同步ID对比,如果消息里的最大同步ID大于表里的同步ID,更新MSG_SYNC该消息类型对应的同步ID,反之结束,如果MSG_SYNC没有该消息类型的记录,则新增一条记录;
步骤S610接收端重复步骤S605-步骤S609,直至返回报文SYNC_RESP,没有返回历史记录为止。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于挂号网(杭州)科技有限公司,未经挂号网(杭州)科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810272438.3/1.html,转载请声明来源钻瓜专利网。





