[发明专利]一种消息处理的方法和装置在审
申请号: | 201510903396.5 | 申请日: | 2015-12-09 |
公开(公告)号: | CN105471714A | 公开(公告)日: | 2016-04-06 |
发明(设计)人: | 黄维荣;王巍;廖慧琴 | 申请(专利权)人: | 百度在线网络技术(北京)有限公司 |
主分类号: | H04L12/58 | 分类号: | H04L12/58;H04L29/08 |
代理公司: | 北京鸿德海业知识产权代理事务所(普通合伙) 11412 | 代理人: | 袁媛 |
地址: | 100085 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 消息 处理 方法 装置 | ||
1.一种消息处理的方法,其特征在于,该方法包括:
消息中间件接收到消息时,将消息写入消息队列和持久化存储;
若消息写入消息队列和持久化存储均失败,则将所述消息写入本地磁 盘。
2.根据权利要求1所述的方法,其特征在于,所述将消息写入消息队 列和持久化存储包括:
采用双写的方式将所述消息写入消息队列和持久化存储;或者,
将消息写入消息队列,若写入失败,则将所述消息写入持久化存储;或 者,
将消息写入持久化存储,若写入失败,则将所述消息写入消息队列。
3.根据权利要求1所述的方法,其特征在于,若消息写入持久化存储 失败,写入消息队列成功,该方法还包括:
将所述消息从消息队列回调并重新写入持久化存储。
4.根据权利要求3所述的方法,其特征在于,该方法还包括:
若重新写入持久化存储失败,则将所述消息写入本地磁盘。
5.根据权利要求1所述的方法,其特征在于,该方法还包括:
将消息从本地磁盘回调并重新写入持久化存储。
6.根据权利要求1至5任一权项所述的方法,其特征在于,该方法还包 括:
采用两个推送进程以竞争模式分别从消息队列和持久化存储读取消息, 并将读取到的消息推送至消息接收者;
所述竞争模式保证对于相同的消息而言,只有一个推送进程能够读取到 该消息。
7.根据权利要求6所述的方法,其特征在于,所述采用两个推送进程以 竞争模式分别从写入队列和持久化存储读取消息包括:
推送进程从写入队列或持久化存储中读取消息时,判断该消息的被处理 状态,若该消息正在被处理,或者已被处理成功,则不再对该消息进行处理; 若该消息未被处理,或者被处理失败,则从该推送进程对应的写入队列或持 久化存储中读取消息,并更新该消息的被处理状态为正在被处理。
8.根据权利要求7所述的方法,其特征在于,该方法还包括:
若推送进程推送消息至消息接收者成功,则更新该消息的被处理状态为 已被处理成功;
若推送进程读取消息或推送消息至消息接收者失败,则更新该消息的被 处理状态为被处理失败。
9.根据权利要求6所述的方法,其特征在于,持久化存储对应的推送进 程若从持久化存储中读取消息或推送消息至消息接收者失败,则按照预设的 重试间隔,重新从所述持久化存储中读取消息并推送至消息接收者,直至推 送消息至消息接收者成功或达到预设的重试次数。
10.根据权利要求6所述的方法,其特征在于,若持久化存储中未处理 的消息数量或者处理失败的消息数量超过预设阈值,则所述持久化存储对应 的推送进程进行告警。
11.一种消息处理的装置,设置于消息中间件,其特征在于,该装置包 括:
接收单元,用于接收消息;
第一写入单元,用于将所述接收单元接收到的消息写入消息队列和持久 化存储;
第二写入单元,用于若消息写入消息队列和持久化存储均失败,则将该 消息写入本地磁盘。
12.根据权利要求11所述的装置,其特征在于,所述第一写入单元,具 体用于:
采用双写的方式将所述消息写入消息队列和持久化存储;或者,
将消息写入消息队列,若写入失败,则将所述消息写入持久化存储;或 者,
将消息写入持久化存储,若写入失败,则将所述消息写入消息队列。
13.根据权利要求11所述的装置,其特征在于,该装置还包括:
第三写入单元,用于若所述第一写入单元写入持久化存储失败,写入消 息队列成功,则将所述消息从消息队列回调并重新写入持久化存储。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于百度在线网络技术(北京)有限公司,未经百度在线网络技术(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510903396.5/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种智能路由器选路方法和装置
- 下一篇:信息发送方法和装置