一种基于redis的消息队列发布和消费方法及系统技术方案

技术编号:40061572 阅读:28 留言:0更新日期:2024-01-16 22:46
本发明专利技术公开了一种基于redis的消息队列发布和消费方法及系统,属于信息处理技术领域,其方法包括:以key为X_patrition的值为分区数,得到对应数量的分区;发布端发布消息时,以分区数为上限值a形成区间[1,a],在区间[1,a]内选择分区,并将信息发布到该分区中;消费端启动后,在区间[1,a]内选择分区作为起始分区,从所述起始分区开始轮询,抢占当前分区的分布式锁,当抢占得到当前分区的分布式锁则获得当前分区的所有信息。其系统包括消息主题建立模块、分区模块、消息发布模块和消息消费模块。所述基于redis的消息队列发布和消费方法及系统解决了现有的信息队列方案不能保证信息的完整性的问题。

【技术实现步骤摘要】

本专利技术涉及信息处理,特别涉及一种基于redis的消息队列发布和消费方法及系统


技术介绍

1、目前,行业里基于redis的消息队列方案主要有:基于list结构实现消息队列,它只支持消息消费一次,如果有消费过程中,信息消费端停机了那消息也就丢失了;基于pubsub(发布/订阅),如果在发布消息时,没有信息消费端,那此时发布的消息会丢失;如此,不能保证信息的完整性。


技术实现思路

1、为了克服现有技术存在的缺陷,本专利技术的一个目的在于提供一种基于redis的消息队列发布和消费方法,以解决上述的问题。

2、为了克服现有技术存在的缺陷,本专利技术的另一个目的在于提供一种基于redis的消息队列发布和消费系统,以解决上述的问题。

3、本专利技术解决其技术问题所采用的技术方案是:一种基于redis的消息队列发布和消费方法,包括以下步骤:

4、s1:建立x_patrition和x_patrition_lock,其中x为消息主题;

5、s2:读取key为x_patriti本文档来自技高网...

【技术保护点】

1.一种基于redis的消息队列发布和消费方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的一种基于redis的消息队列发布和消费方法,其特征在于:在所述步骤S2中,当读取key为X_patrition的值为无值时,执行步骤S21;

3.根据权利要求1所述的一种基于redis的消息队列发布和消费方法,其特征在于:在步骤S3中,多个发布端发布消息时,每个发布端都在区间[1,a]内选择分区,其中每个发布端选择的分区都不相同;

4.根据权利要求1所述的一种基于redis的消息队列发布和消费方法,其特征在于:在所述步骤S3中发布端将至少一条信息发布到该...

【技术特征摘要】

1.一种基于redis的消息队列发布和消费方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的一种基于redis的消息队列发布和消费方法,其特征在于:在所述步骤s2中,当读取key为x_patrition的值为无值时,执行步骤s21;

3.根据权利要求1所述的一种基于redis的消息队列发布和消费方法,其特征在于:在步骤s3中,多个发布端发布消息时,每个发布端都在区间[1,a]内选择分区,其中每个发布端选择的分区都不相同;

4.根据权利要求1所述的一种基于redis的消息队列发布和消费方法,其特征在于:在所述步骤s3中发布端将至少一条信息发布到该发布端选择的分区的map中,并且为每条信息分配一个唯一的id。

5.根据权利要求4所述的一种基于redis的消息队列发布和消费方法,其特征在于:在所述步骤s4中,消费端在获取当前分区的所有信息后,逐条处理这些信息,然后将处理过的信息和对应的id从当前分区的map中删除,在处理完获取的所有信息后,释放分布式锁。

6.一种基于redis的消息...

【专利技术属性】
技术研发人员:李宝君何玉华
申请(专利权)人:全通金信控股广东有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1