[发明专利]一种消息的处理方法、装置、计算机设备和存储介质有效
申请号: | 201911001012.5 | 申请日: | 2019-10-21 |
公开(公告)号: | CN110727507B | 公开(公告)日: | 2022-09-09 |
发明(设计)人: | 黄全;李泽隆 | 申请(专利权)人: | 广州欢聊网络科技有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/50;H04L51/04 |
代理公司: | 广州佳睿知识产权代理事务所(普通合伙) 44610 | 代理人: | 李健富 |
地址: | 510000 广东省广州市天*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 消息 处理 方法 装置 计算机 设备 存储 介质 | ||
本发明涉及一种消息的处理方法、装置、计算机设备和存储介质,该方法包括:接收用户在会话中发送的消息;将所述消息分配至所述用户对应的队列;调用所述队列对应的线程将所述队列中、所述用户的消息发送至所述会话中的其他用户;确定所述线程已处理所述队列中、所述用户的所有消息;检测所述队列的状态;根据所述状态将所述用户的消息从所述队列转移至其他队列。保证用户维度的消息的顺序性,与此同时,通过队列的状态在不同队列中调配用户的消息,可减轻部分队列的负载,也提升了其他队列及相应线程的利用率,使各个队列的负载趋于平衡,实现了动态调配资源。
技术领域
本发明实施例涉及即时通讯的技术,尤其涉及一种消息的处理方法、装置、计算机设备和存储介质。
背景技术
随着互联网技术的发展,即时通讯(Instant Messenger,简称IM)由于其所拥有的实时性、低成本、高效率等诸多优势,迅速普及。即时通讯是一种基于互联网的即时交流消息的业务,其允许两人或多人使用网路即时的传递文字讯息、档案、语音与视频交流。
在即时通讯中,当某一位用户发出一条消息时,服务器需要把这条消息推送给其他用户,此时,这一条消息会扩散成多条消息在服务器各个系统中流传,扩散系数大,服务器压力较大。
目前的互联网技术架构中,为了应对高并发和大流量的即时通讯场景,一般采用分布式的技术方案。采用分布式方案可以通过水平横向扩展的方式有效地提高整体架构的吞吐量和并发量。
目前,可采用按某个维度对消息进行分流处理,以保证每个维度的消息只会固定被同一条线程处理,以保证该维度消息处理的顺序性,但是,线程固定处理某个维度的消息,导致资源利用率低下。
发明内容
本发明实施例提供一种消息的处理方法、装置、计算机设备和存储介质,以解决兼顾保证该维度消息处理的顺序与资源利用率的问题。
第一方面,本发明实施例提供了一种消息的处理方法,包括:
接收用户在会话中发送的消息;
将所述消息分配至所述用户对应的队列;
调用所述队列对应的线程将所述队列中、所述用户的消息发送至所述会话中的其他用户;
确定所述线程已处理所述队列中、所述用户的所有消息;
检测所述队列的状态;
根据所述状态将所述用户的消息从所述队列转移至其他队列。
可选地,所述将所述消息分配至所述用户对应的队列,包括:
按照预设的顺序对所述消息生成消息序号;
在统计列表中将所述用户对应的最新序号更新为所述消息的消息序号;
确定处理所述用户的消息的队列;
将所述消息写入所述队列中。
可选地,在所述在统计列表中将所述用户对应的最新序号更新为所述消息的消息序号之后,还包括:
对所述用户添加共享锁;
在所述确定处理所述用户的消息的队列之后,还包括:
对所述用户释放所述共享锁。
可选地,所述调用所述队列对应的线程将所述队列中、所述用户的消息发送至所述会话中的其他用户,包括:
确定所述队列对应的线程;
调用所述线程将所述队列中、所述用户的消息发送至所述会话中的其他用户;
若发送成功,则在统计列表中所述用户对应的处理序号更新为所述消息的消息序号;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州欢聊网络科技有限公司,未经广州欢聊网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911001012.5/2.html,转载请声明来源钻瓜专利网。