[发明专利]消息处理方法、装置、设备、存储介质及计算机程序产品在审
申请号: | 202210348727.3 | 申请日: | 2022-04-01 |
公开(公告)号: | CN114675986A | 公开(公告)日: | 2022-06-28 |
发明(设计)人: | 郭梓辰 | 申请(专利权)人: | 百果园技术(新加坡)有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54;G06F16/27 |
代理公司: | 北京品源专利代理有限公司 11332 | 代理人: | 高艳红 |
地址: | 新加坡巴西班让路*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 消息 处理 方法 装置 设备 存储 介质 计算机 程序 产品 | ||
1.一种消息处理方法,其特征在于,应用于消息消费者服务中,所述消息消费者服务与消息生产者服务通过分布式存储集群进行关联,所述分布式存储集群中存储有有序列表以及各业务对象对应的有序消息队列,所述有序列表用于记录多个待处理的业务对象及其最近操作时间戳信息,所述有序消息队列用于记录其对应的业务对象中待处理的操作消息以及所述操作消息的唯一消息标识;
所述方法包括:
从所述有序列表中确定待处理的目标业务对象;
基于所述目标业务对象的最近时间戳信息,判断所述目标业务对象是否到达设定的处理时机;
当所述目标业务对象到达设定的处理时机,则对所述目标业务对象设置分布式锁;
在所述分布式存储集群中获取所述目标业务对象对应的目标有序消息队列;
确定获得所述分布式锁的目标线程,并采用所述目标线程按序对所述目标有序消息队列中的操作消息进行处理。
2.根据权利要求1所述的方法,其特征在于,所述从所述有序列表中确定待处理的目标业务对象,包括:
选取最近操作时间戳信息最早的业务对象作为待处理的目标业务对象。
3.根据权利要求1或2所述的方法,其特征在于,所述基于所述目标业务对象的最近时间戳信息,判断所述目标业务对象是否到达设定的处理时机,包括:
计算当前时间与所述目标业务对象的最近操作时间戳信息的时间差;
若所述时间差大于或等于预设延迟处理时间阈值,则判定所述目标业务对象到达设定的处理时机;
若所述时间差小于预设延迟处理时间阈值,则判定所述目标业务对象没有到达设定的处理时机。
4.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
当所述目标业务对象的所有操作消息都处理完成以后,删除所述分布式锁。
5.根据权利要求1所述的方法,其特征在于,所述采用所述目标线程按序对所述有序消息队列中的消息进行处理,包括:
采用所述目标线程按照所述唯一消息标识从小到大的次序,从所述有序消息队列中取出消息进行处理。
6.根据权利要求1所述的方法,其特征在于,在所述对所述目标业务对象设置分布式锁之后,所述方法还包括:
在所述有序列表中删除所述目标业务对象对应的记录。
7.一种消息处理方法,其特征在于,应用于消息生产者服务中,所述消息生产者服务与消息消费者服务通过分布式存储集群进行关联,所述分布式存储集群中存储有有序列表以及各业务对象对应的有序消息队列,所述有序列表用于记录多个待处理的业务对象及其最近操作时间戳信息,所述有序消息队列用于记录其对应的业务对象中待处理的操作消息以及所述操作消息的唯一消息标识;
所述方法包括:
响应于业务实例对业务对象发起的操作,生成操作消息,并基于单点发号机制为所述操作消息生成唯一消息标识;
获取发起所述操作的操作时间戳信息,并将所述业务对象的标识以及所述操作时间戳信息记录在所述分布式存储集群的有序列表中;
在所述分布式存储集群中获取所述业务对象对应的有序消息队列,并将所述操作消息以及所述唯一消息标识写入所述有序消息队列中。
8.根据权利要求7所述的方法,其特征在于,所述基于单点发号机制为所述操作消息生成唯一消息标识,包括:
确定目标排序维度;
采用基于Codis集群的INCR指令作为序号生成器,为所述操作消息生成与所述目标排序维度相关的唯一消息标识。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于百果园技术(新加坡)有限公司,未经百果园技术(新加坡)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210348727.3/1.html,转载请声明来源钻瓜专利网。