[发明专利]一种消息发送方法和相关装置有效
申请号: | 202010613863.1 | 申请日: | 2020-06-30 |
公开(公告)号: | CN111510396B | 公开(公告)日: | 2020-10-27 |
发明(设计)人: | 泮诚 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | H04L12/875 | 分类号: | H04L12/875;H04L12/865 |
代理公司: | 深圳市深佳知识产权代理事务所(普通合伙) 44285 | 代理人: | 常忠良 |
地址: | 518064 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 消息 发送 方法 相关 装置 | ||
1.一种消息发送方法,其特征在于,所述方法包括:
根据待发送消息的产生时间和有效时长剩余时间,确定快消息队列中待发送消息的位置排序;
从快消息队列中向发送队列提取待发送消息;其中,所述快消息队列中待发送消息对应的有效时长小于慢消息队列中待发送消息的有效时长;
若所述快消息队列为空,从所述慢消息队列中向所述发送队列提取待发送消息;
向接收设备发送所述发送队列中的待发送消息;
若通过所述发送队列向所述接收设备发送目标消息时出现发送失败,将所述目标消息加入失败队列;所述目标消息为所述发送队列中的一个待发送消息;
在所述从所述慢消息队列中向所述发送队列提取待发送消息时,若所述慢消息队列为空,从所述失败队列中向所述发送队列提取待发送消息;
若所述快消息队列的队列容量达到第一阈值,从所述快消息队列的队尾开始提取第一数量的待发送消息存入存储空间;
在所述从所述失败队列中向所述发送队列提取待发送消息时,若所述失败队列为空,所述方法还包括:
从持久化队列中向所述发送队列提取待发送消息;所述持久化队列中的待发送消息是从所述存储空间中获取的,所述持久化队列中待发送消息的位置排序是根据以下任意一项或多项的组合确定的:
待发送消息的产生时间;
是否来自快消息队列或慢消息队列;
发送失败次数。
2.根据权利要求1所述的方法,其特征在于,所述失败队列包括第一失败队列和第二失败队列,所述第一失败队列中待发送消息的位置排序是根据加入所述第一失败队列的时间确定的,所述第二失败队列中待发送消息的位置排序是根据待发送消息的发送失败次数确定的;
若所述目标消息是从第一失败队列中向所述发送队列提取的,所述将所述目标消息加入失败队列,包括:
将所述目标消息加入所述第二失败队列。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述慢消息队列的队列容量达到第二阈值,从所述慢消息队列的队尾开始提取第二数量的待发送消息存入所述存储空间;
若所述失败队列中待发送消息的发送失败次数达到第三阈值,将发送失败次数达到第三阈值的待发送消息从所述失败队列提出,并存入所述存储空间。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若从慢消息队列中提取的待发送消息通过所述发送队列向所述接收设备发送成功,从快消息队列中向发送队列提取待发送消息。
5.根据权利要求1-4任意一项所述的方法,其特征在于,所述方法还包括:
统计来自所述快消息队列的待发送消息的第一发送失败率,以及来自所述慢消息队列的待发送消息的第二发送失败率;
根据所述第一发送失败率和所述第二发送失败率确定整体失败率;
根据所述整体失败率调整从所述发送队列进行待发送消息发送的进程数量。
6.根据权利要求1-4任意一项所述的方法,其特征在于,所述待发送消息具有消息头,所述消息头用于记录所述待发送消息的产生时间、时效类型以及发送失败次数,所述时效类型包括快消息或慢消息,所述快消息的有效时长符合所述快消息队列中待发送消息对应的有效时长,所述慢消息的有效时长符合所述慢消息队列中待发送消息对应的有效时长。
7.根据权利要求1-4任意一项所述的方法,其特征在于,所述方法还包括:
获取待分类的待发送消息;
根据所述待发送消息的消息类型所对应的有效时长,对所述待发送消息进行时效类型分类;
将时效类型属于快消息的待发送消息加入所述快消息队列,将时效类型属于慢消息的待发送消息加入所述慢消息队列。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010613863.1/1.html,转载请声明来源钻瓜专利网。