[发明专利]一种保障异步通讯中消息顺序性消费的方法在审
申请号: | 202111144387.4 | 申请日: | 2021-09-28 |
公开(公告)号: | CN113900835A | 公开(公告)日: | 2022-01-07 |
发明(设计)人: | 张鹤鸣 | 申请(专利权)人: | 四川新网银行股份有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54 |
代理公司: | 成都智言知识产权代理有限公司 51282 | 代理人: | 濮云杉 |
地址: | 610094 四川省成都高*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 保障 异步 通讯 消息 顺序 消费 方法 | ||
1.一种保障异步通讯中消息顺序性消费的方法,其特征在于,包括以下步骤:
步骤1:生产端准备需要发送的消息内容,并且定义该消息类型,将消息类型放入消息属性中;发送给消费端;
步骤2:消费端基于消息类型对消息进行处理。
2.根据权利要求1所述的一种保障异步通讯中消息顺序性消费的方法,其特征在于,所述消息类型包括无顺序要求的异步通讯场景类型、以最近发送的消息为准的处理场景类型、按消息发送顺序处理的场景类型。
3.根据权利要求2所述的一种保障异步通讯中消息顺序性消费的方法,其特征在于,所述步骤1包括:
步骤1.1:生产端准备需要发送的消息内容、需要投递的消息队列以及当前业务场景对应的消息类型;
步骤1.2:生产端将步骤1.1中准备的数据作为入参,并将步骤1.1中确定的消息类型放入消息内容的消息属性中;
步骤1.3:在消息发送方法内,首先对入参数据进行校验,将步骤1.1准备的消息内容放入消息体中。
4.根据权利要求3所述的一种保障异步通讯中消息顺序性消费的方法,其特征在于,当步骤1.1中确定的消息类型为无顺序要求的异步通讯场景类型时,所述步骤1还包括以下步骤用于续接步骤1.3:
步骤1.4:将消息体与消息属性组装为完整的消息并发送到队列中;完成消息发送。
5.根据权利要求4所述的一种保障异步通讯中消息顺序性消费的方法,其特征在于,所述步骤2包括以下步骤:
步骤2.1:多个消费端接收并消费队列中的消息内容;解析得到消息体、消息属性;
步骤2.2:消费端基于消息属性确定当前消息类型为无顺序要求的异步通讯场景类型,则无需管消息的顺序问题,直接进行接下来的消费处理;消费端完成消息处理。
6.根据权利要求3所述的一种保障异步通讯中消息顺序性消费的方法,其特征在于,当步骤1.1中确定的消息类型为以最近发送的消息为准的处理场景类型时,所述步骤1包括以下步骤用于续接步骤1.3:
步骤1.4:随机生成一个唯一不重复的数据A;生产端以固定前缀加上队列名称为key,调用Redis的set赋值方法,将key的值置为数据A;
步骤1.5:生产端重复步骤1.1到步骤1.3,随机生成一个唯一不重复的数据B,生产端以固定前缀加上队列名称为key,调用Redis的set赋值方法,将key的值置为数据B,将当前的消息类型、用来标识业务当前发送数据的键值key、以及标识数据B均放入到消息属性中;将消息体和消息属性组装为完整的消息并发送到队列中。
7.根据权利要求6所述的一种保障异步通讯中消息顺序性消费的方法,其特征在于,所述步骤2包括以下步骤:
步骤2.1:消费端接收到消费队列中的消息内容,并获取消息内容的消息属性,基于消息属性获取到消息类型为以最近发送的消息为准的处理场景类型;根据key去Redis,通过get方法获取其中的保存字段,并与消息属性中的发来的标识字符串进行对比;
步骤2.2:若Redis中获取的数据B与消息属性中发送来的数据A对比不一致,则消费端得知该消息不是最新消息,直接终止处理流程,不再执行后续流程;
步骤2.3:若Redis中获取的数据B与消息属性中发送来的数据B对比一致,则消费者得知该条消息为最新发送的消息,进行后续的处理流程。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于四川新网银行股份有限公司,未经四川新网银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111144387.4/1.html,转载请声明来源钻瓜专利网。
- 上一篇:换流变压器潜油泵更换装置
- 下一篇:锂电手持式套丝机及套丝方法