[发明专利]用于消息队列的消息丢失检测方法和装置在审
申请号: | 201911330718.6 | 申请日: | 2019-12-20 |
公开(公告)号: | CN111190747A | 公开(公告)日: | 2020-05-22 |
发明(设计)人: | 马鹏程;胡伟 | 申请(专利权)人: | 北京金山云网络技术有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54 |
代理公司: | 北京华夏泰和知识产权代理有限公司 11662 | 代理人: | 韩来兵;李雪 |
地址: | 100085 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 消息 队列 丢失 检测 方法 装置 | ||
1.一种用于消息队列的消息丢失检测方法,所述方法应用于消息处理系统,所述消息处理系统包括有消息队列和数据库,其特征在于,包括:
接收生产者发送的业务消息和所述业务消息的消息标识,其中,所述业务消息用于表示待消费者执行的目标任务;
将所述业务消息存储至所述消息队列和将所述消息标识存储至所述数据库,其中,所述消息队列和数据库与所述消费者之间独立通信;
通过所述消息队列将所述业务消息发送给所述消费者,以使所述消费者执行所述目标任务并存储所述业务消息的消息标识;
在所述数据库接收到所述消费者的查询请求时,通过所述数据库将所述消息标识发送给所述消费者,以使所述消费者根据所述数据库存储的消息标识和所述消费者存储的消息标识确定是否存在丢失的业务消息。
2.根据权利要求1所述的方法,其特征在于,在接收生产者发送的所述业务消息的消息标识之后,所述方法还包括:
将所述消息标识存储至预设存储空间,其中,所述预设存储空间用于对保存至所述数据库的消息标识进行冗余备份;
在所述数据库保存的消息标识丢失的情况下,将所述预设存储空间备份的消息标识复制至所述数据库进行存储。
3.根据权利要求1或2所述的方法,其特征在于,将所述业务消息存储至所述消息队列和将所述消息标识存储至所述数据库包括:
在所述业务消息的类型为第一类型的情况下,将所述业务消息存储至所有所述消息队列,并将所述消息标识与所述第一类型关联后存储至所述数据库,其中,为所述第一类型的消息被设定为发送给所有所述消息队列供所有所述消费者进行消费;
在所述业务消息的类型为第二类型的情况下,将所述业务消息存储至与所述业务消息指定的消费者关联的所述消息队列,并将所述消息标识与所述业务消息指定的消费者关联后存储至所述数据库,其中,为所述第二类型的消息被设定为发送给与指定的消费者关联的所述消息队列供指定的消费者进行消费。
4.根据权利要求1或2所述的方法,其特征在于,在通过所述数据库将所述消息标识发送给所述消费者之后,所述方法还包括:
删除所述数据库中被所述消费者查询过的且对应的业务消息已经被所述消费者消费的消息标识。
5.一种用于消息队列的消息丢失检测方法,所述方法应用于消息的消费者,其特征在于,包括:
接收来自消息处理系统的消息队列发送的业务消息并在本地存储所述业务消息的消息标识,其中,所述业务消息用于表示待消费者执行的目标任务;
向所述消息处理系统的数据库发送标识获取请求,以获取所述数据库中存储的消息标识;
根据本地存储的消息标识和所述数据库存储的消息标识确定是否存在丢失的业务消息。
6.根据权利要求5所述的方法,其特征在于,根据本地存储的消息标识和所述数据库存储的消息标识确定是否存在丢失的业务消息包括:
将本地存储的消息标识与数据库存储的消息标识进行比对,得到比对结果;
根据比对结果确定是否存在丢失的业务消息。
7.根据权利要求6所述的方法,其特征在于,根据比对结果确定是否存在丢失的业务消息包括:
在所述比对结果为存在第一类消息标识的情况下,确定所述第一类消息标识对应的业务消息为丢失的业务消息;
在所述比对结果为不存在所述第一类消息标识的情况下,确定不存在丢失的业务消息;
其中,所述第一类消息标识表征所述数据库存储的、且在本地存储中查找不到的消息标识。
8.根据权利要求6所述的方法,其特征在于,所述方法还包括:
从本地存储中删除第二类消息标识,其中,所述第二类消息标识为通过所述比对结果确定的在所述数据库中和本地存储中均存在的消息标识。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京金山云网络技术有限公司,未经北京金山云网络技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911330718.6/1.html,转载请声明来源钻瓜专利网。