[发明专利]一种基于timeline模型的即时通讯多端同步的方法在审

专利信息
申请号: 202110548966.9 申请日: 2021-05-20
公开(公告)号: CN113407622A 公开(公告)日: 2021-09-17
发明(设计)人: 刘超群 申请(专利权)人: 合肥市智享亿云信息科技有限公司
主分类号: G06F16/27 分类号: G06F16/27;G06F16/22;H04L12/58
代理公司: 暂无信息 代理人: 暂无信息
地址: 230000 安徽省*** 国省代码: 安徽;34
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 timeline 模型 即时通讯 多端 同步 方法
【权利要求书】:

1.一种基于timeline模型的即时通讯多端同步的方法,其特征在于:包括如下步骤:

步骤一:消息同步库的发送、读取与缓存;

步骤二:消息同步库存储到每个用户的消息队列;

步骤三:消息同步库的放大存储。

2.如权利要求1所述的基于timeline模型的即时通讯多端同步的方法,其特征在于:步骤一的具体操作为:所有消息发送至Rabbitmq服务器,消息消费程序从消息队列读取,由于群聊会有写放大的问题,此处采用批量插入的方式,群内的一条消息批量写入到N个成员的消息队列里,此处会出现消息的冗余存储,把消息内容存储到redis缓存空间中,插入ElasticSearch中的冗余的只有消息Id,大大减少了消息存储占用的空间。

3.如权利要求1所述的基于timeline模型的即时通讯多端同步的方法,其特征在于:同步库存储每一个用户的消息队列,每当有关于该用户的消息就会存储到该用户的消息队列中,为了实现该消息队列,存储的字段包括了sourceUid字段标识该消息属于谁的消息,isReaded标识消息是否已读,created标识消息存储的时间戳,msgId标识消息的ID,targetGid标识群消息的id,targetUid单聊时标识对方的id。

4.如权利要求1所述的基于timeline模型的即时通讯多端同步的方法,其特征在于:步骤三的具体操作为:一条单聊消息会插入到发送人的消息队列,也会插入到接收人的消息队列,也就是单聊写放大两份,群聊写放大N份,消息内容写入Redis缓存中,过期时间设置为一个月,此外写一份到mysql数据库中,保证消息在缓存失效后可以从数据库中查询到,存入消息队列时不必写入完整消息,只需要记录消息id,查询时通过消息id就可以从redis或者msyql中查询出完整消息内容。

5.如权利要求1所述的基于timeline模型的即时通讯多端同步的方法,其特征在于:步骤三中存储消息写放大过程中,单聊放大2份,群聊放大N份,此处采用ElasticSearch提供的批量插入api,单聊的2条消息批量插入,群聊的N份消息也批量插入,大大提高了消息的存储效率。

6.如权利要求1所述的基于timeline模型的即时通讯多端同步的方法,其特征在于:步骤二中的消息存储时机为当消息抵达客户端时,客户端会有一个回执消息发送到服务器端,服务器端接收到这个消息,则可确认此消息已经抵达客户端,服务器此时存储消息。

7.如权利要求1所述的基于timeline模型的即时通讯多端同步的方法,其特征在于:步骤二中的消息存储方式为将消息按照群聊和单聊发送到消息队列Rabbitmq中进行异步存储消息,即当消息发送到消息队列之后,立即推送给客户端,此时消息可能还未存储,消息推送和消息存储是异步进行的。

8.如权利要求1所述的基于timeline模型的即时通讯多端同步的方法,其特征在于:步骤三中存储消息数据与放大存储方式如下:

单聊,队列存储详情:

From:发送人id;

To:接收人id;

IsReaded:消息是否已读;

Msgs:消息体;

Created:时间戳;

MsgId:消息唯一标识id;

群聊,队列存储详情:

Sender:发送人id;

Gid:群id;

IsReaded:消息是否已读;

Created:时间戳;

MsgId:消息唯一标识id;

Members:群成员数组信息;

放大存储即单聊时消息需要存储两份,调换sourceUid和targetGid,各存储一份,群聊时存储N份。

9.如权利要求1所述的基于timeline模型的即时通讯多端同步的方法,其特征在于:步骤三中的消息写放大:

单聊消息存储两份:

存储字段为:

sourceUid:当前消息发送人的id;

created:消息的时间戳;

Msgs:消息体的存储;

TargetUid:对方的id;

遍历members,每一个遍历的id作为sorceUid,其余字段:

Gid:群id;

msgid:消息id;

created:消息时间戳;

IsReaded:消息是否已读;

写放大即单聊时消息需要存储两份,调换sourceUid和targetGid,各存储一份,群聊时存储N份。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于合肥市智享亿云信息科技有限公司,未经合肥市智享亿云信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202110548966.9/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top