消息消费、消息分发方法、装置、服务器及存储介质与流程

文档序号:25543520发布日期:2021-06-18 20:40阅读:来源:国知局

技术特征:

1.一种消息消费方法,其特征在于,应用于消费服务器,所述方法包括:

确定分发服务器的各分区中与所述消费服务器一一对应的目标分区,并从所述目标分区中获取待消费消息,确定所述待消费消息的消息标识,其中所述消息标识表示所述待消费消息所属的消息消费任务,且所述分发服务器是根据所述消息标识将所述待消费消息分发到所述目标分区上的;

根据所述消息标识从所述消费服务器的各内存队列中确定出目标内存队列,并将所述待消费消息发送给所述目标内存队列;

确定所述消费服务器的各线程中与所述目标内存队列一一对应的目标线程,基于所述目标线程对所述目标内存队列中的所述待消费消息进行消费。

2.根据权利要求1所述的方法,其特征在于,所述根据所述消息标识从所述消费服务器的各内存队列中确定出目标内存队列,包括:

基于预先设置的负载均衡策略对所述消息标识进行处理,得到处理标识;

获取所述消费服务器的各内存队列的队列数量,根据所述处理标识和所述队列数量从各所述内存队列中确定出目标内存队列。

3.根据权利要求2所述的方法,其特征在于,所述基于预先设置的负载均衡策略对所述消息标识进行处理,得到处理标识,包括:

对所述消息标识进行映射,得到预设位数的数字类型的映射标识;

将所述预设位数的一半更新为所述预设位数,并基于所述预设位数对所述映射标识进行位移,得到位移标识;

将所述映射标识和所述位移标识进行异或处理,得到处理标识。

4.根据权利要求2所述的方法,其特征在于,所述根据所述处理标识和所述队列数量从各所述内存队列中确定出目标内存队列,包括:

对所述队列数量进行减一操作,得到减一数量,并将所述减一数量和所述处理标识进行与操作,得到队列编号;或是,将所述队列数量和所述处理标识进行取模操作,得到所述队列编号;

将各所述内存队列中与所述队列编号对应的内存队列作为目标内存队列。

5.根据权利要求1所述的方法,其特征在于,所述待消费消息包括物品获取任务中的物品获取状态,所述物品获取状态包括创建状态、待支付状态、已支付状态、已发货状态、配送中状态和已收货状态中的至少一个。

6.一种消息分发方法,其特征在于,应用于分发服务器,所述方法包括:

接收生产服务器生产后发送的待消费消息,并确定所述待消费消息的消息标识,其中所述消息标识表示所述待消费消息所属的消息消费任务;

根据所述消息标识从所述分发服务器的各分区中确定出目标分区,将所述待消费消息分发到所述目标分区上,以使与所述目标分区一一对应的消费服务器将从所述目标分区中获取到的所述待消费消息发送给根据所述消息标识从各内存队列中确定出的目标内存队列,并基于各线程中与所述目标内存队列一一对应的目标线程对所述待消费消息进行消费。

7.根据权利要求6所述的方法,其特征在于,所述根据所述消息标识从所述分发服务器的各分区中确定出目标分区,包括:

基于预先设置的负载均衡策略对所述消息标识进行处理,得到处理标识;

获取所述分发服务器的各分区的分区数量,根据所述处理标识和所述分区数量从各所述分区中确定出目标分区。

8.一种消息消费装置,其特征在于,配置于消费服务器,所述装置包括:

第一消息标识确定模块,用于确定分发服务器的各分区中与所述消费服务器一一对应的目标分区,并从所述目标分区中获取待消费消息,确定所述待消费消息的消息标识,其中,所述消息标识表示所述待消费消息所属的消息消费任务,且所述分发服务器是根据所述消息标识将所述待消费消息分发到所述目标分区上的;

待消费消息发送模块,用于根据所述消息标识从所述消费服务器的各内存队列中确定出目标内存队列,并将所述待消费消息发送给所述目标内存队列;

待消费消息消费模块,用于确定所述消费服务器的各线程中与所述目标内存队列一一对应的目标线程,基于所述目标线程对所述目标内存队列中的所述待消费消息进行消费。

9.一种消息分发装置,其特征在于,配置于分发服务器,所述装置包括:

第二消息标识确定模块,用于接收生产服务器生产后发送的待消费消息,并确定所述待消费消息的消息标识,其中所述消息标识表示所述待消费消息所属的消息消费任务;

待消费消息分发模块,用于根据所述消息标识从所述分发服务器的各分区中确定出目标分区,将所述待消费消息分发到所述目标分区上,以使与所述目标分区一一对应的消费服务器将从所述目标分区中获取到的所述待消费消息发送给根据所述消息标识从各内存队列中确定出的目标内存队列,并基于各线程中与所述目标内存队列一一对应的目标线程对所述待消费消息进行消费。

10.一种消费服务器,其特征在于,包括:

一个或多个处理器;

存储器,用于存储一个或多个程序;

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-5中任一所述的消息消费方法。

11.一种分发服务器,其特征在于,包括:

一个或多个处理器;

存储器,用于存储一个或多个程序;

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求6-7中任一所述的消息分发方法。

12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-5中任一所述的消息消费方法,或是如权利要求6-7中任一所述的消息分发方法。


技术总结
本发明实施例公开了一种消息消费、消息分发方法、装置、服务器及存储介质。该消息消费方法包括:确定分发服务器的各分区中与消费服务器一一对应的目标分区,并从目标分区中获取待消费消息,确定待消费消息的消息标识,其中消息标识表示待消费消息所属的消息消费任务,且分发服务器是根据消息标识将待消费消息分发到目标分区上的;根据消息标识从消费服务器的各内存队列中确定出目标内存队列,并将待消费消息发送给目标内存队列;确定消费服务器的各线程中与目标内存队列一一对应的目标线程,基于目标线程对目标内存队列中的待消费消息进行消费。本发明实施例的技术方案,可以在保证各待消费消息的顺序消费的前提下,达到了高吞吐的效果。

技术研发人员:牛旭
受保护的技术使用者:北京京东拓先科技有限公司
技术研发日:2021.03.19
技术公布日:2021.06.18
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1