延时消息的处理方法、装置、设备、存储介质和程序产品制造方法及图纸

技术编号:37507125 阅读:22 留言:0更新日期:2023-05-07 09:44
本公开提供了一种延时消息的处理方法,涉及分布式技术领域,可以应用于金融技术领域。该方法应用于消息中间件集群,所述消息中间件集群包括多个内部延时主题,每个所述内部延时主题具有对应的延时等级。该方法包括:响应于生产者的消息发送操作,获取待处理消息的延时信息,所述延时信息包括待处理消息的初始延时等级;根据所述初始延时等级将所述待处理消息转发至对应的内部延时主题中;根据所述待处理消息的剩余延时时间将所述待处理消息向目标延时主题流转;当确定所述待处理消息满足发送条件时,将所述待处理消息从所述目标延时主题转发至真实主题,以供消费者消费。本公开还提供了一种延时消息的处理装置、设备、存储介质和程序产品。和程序产品。和程序产品。

【技术实现步骤摘要】
延时消息的处理方法、装置、设备、存储介质和程序产品


[0001]本公开涉及分布式
,具体涉及队列与消息传递
,更具体地涉及一种延时消息的处理方法、装置、设备、存储介质和程序产品。

技术介绍

[0002]原生的消息中间件,例如Kafka并不具备延时队列的功能,当生产者发送的消息具有延时发送需求时,通常在消费者端或生产者端进行改造以实现延时功能,或借助第三方组件,例如redis实现延时功能。但上述方案存在消息延时精度低、消息消费效率低以及维护困难开发成本高等技术问题。
[0003]需要说明的是,在上述
技术介绍
部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。

技术实现思路

[0004]鉴于上述问题,本公开提供了一种提高延时消息的延时精度的延时消息的处理方法、装置、设备、存储介质和程序产品。
[0005]根据本公开的第一个方面,提供了一种延时消息的处理方法,应用于消息中间件集群,所述消息中间件集群包括多个内部延时主题,每个所述内部延时主题具有对应的延时等级,每一所述延时等级对应一个延时区间,所述方法包括:
[0006]响应于生产者的消息发送操作,获取待处理消息的延时信息,所述延时信息包括待处理消息的初始延时等级;
[0007]根据所述初始延时等级将所述待处理消息转发至对应的内部延时主题中;
[0008]根据所述待处理消息的剩余延时时间将所述待处理消息向目标延时主题流转,其中,所述目标延时主题的延时等级在所述多个内部延时主题中最低;以及
[0009]当确定所述待处理消息满足发送条件时,将所述待处理消息从所述目标延时主题转发至真实主题,以供消费者消费。
[0010]根据本公开的实施例,所述根据所述待处理消息的剩余延时时间将所述待处理消息向目标延时主题流转包括:
[0011]定时监控每个内部延时主题中待处理消息的剩余延时时间;
[0012]当所述剩余延时时间小于当前内部延时主题对应延时区间的最小值时,将所述待处理消息转发至下一延时等级的内部延时主题中;以及
[0013]循环上述消息转发操作直至将所述待处理消息转发至目标延时主题。
[0014]根据本公开的实施例,所述每个内部延时主题的消息的监控频率与所述内部延时主题的延时等级负相关。
[0015]根据本公开的实施例,所述获取待处理消息的延时信息包括:
[0016]根据所述待处理消息的头标签确定预计发送时间戳;
[0017]根据所述预计发送时间戳和当前时间确定所述待处理消息的延时时间;以及
[0018]根据所述延时时间确定所述待处理消息的初始延时等级。
[0019]根据本公开的实施例,在根据所述初始延时等级将所述待处理消息转发至对应的内部延时主题中之后,还包括:
[0020]将所述待处理消息的剩余延时时间的时间单位转化为与所述待处理消息当前所在的内部延时主题延时等级一致的时间单位。
[0021]根据本公开的实施例,所述确定所述待处理消息满足发送条件包括:
[0022]当确定所述待处理消息的剩余延时时间小于第一预设阈值时,确定所述待处理消息满足发送条件。
[0023]根据本公开的实施例,所述将所述待处理消息从所述目标延时主题转发至真实主题包括:
[0024]解析所述待处理消息标签,以确定所述待处理消息的真实主题;
[0025]将所述待处理消息发送至所述真实主题。
[0026]根据本公开的实施例,还包括:
[0027]定时监控每个内部延时主题下分区的数据量;
[0028]当确定所述分区的数据量大于第二预设阈值时,停止接收新消息。
[0029]根据本公开的实施例,在所述待处理消息流转至所述目标延时主题后,还包括:
[0030]根据所述待处理消息的预计发送时间戳将所述待处理消息进行排序。
[0031]本公开的第二方面提供了一种延时消息的处理装置,应用于消息中间件集群,所述消息中间件集群包括多个内部延时主题,每个所述内部延时主题具有对应的延时等级,每一所述延时等级对应一个延时区间,所述装置包括:
[0032]消息获取模块,用于响应于生产者的消息发送操作,获取待处理消息的延时信息,所述延时信息包括待处理消息的初始延时等级;
[0033]消息暂存模块,用于根据所述初始延时等级将所述待处理消息转发至对应的内部延时主题中;
[0034]消息流转模块,用于根据所述待处理消息的剩余延时时间将所述待处理消息向目标延时主题流转,其中,所述目标延时主题的延时等级在所述多个内部延时主题中最低;以及
[0035]消息转发模块,用于当确定所述待处理消息满足发送条件时,将所述待处理消息从所述目标延时主题转发至真实主题,以供消费者消费。
[0036]根据本公开的实施例,所述消息流转模块包括:监控子模块、第一转发子模块和第二转发子模块。
[0037]监控子模块,用于定时监控每个内部延时主题中待处理消息的剩余延时时间;
[0038]第一转发子模块,用于当所述剩余延时时间小于当前内部延时主题对应延时区间的最小值时,将所述待处理消息转发至下一延时等级的内部延时主题中;以及
[0039]第二转发子模块,用于循环上述消息转发操作直至将所述待处理消息转发至目标延时主题。
[0040]根据本公开的实施例,所述获取模块包括:第一确定子模块、第二确定子模块和第三确定子模块。
[0041]第一确定子模块,用于根据所述待处理消息的头标签确定预计发送时间戳;
[0042]第二确定子模块,用于根据所述预计发送时间戳和当前时间确定所述待处理消息的延时时间;以及
[0043]第三确定子模块,用于根据所述延时时间确定所述待处理消息的初始延时等级。
[0044]根据本公开的实施例,在消息暂存模块根据所述初始延时等级将所述待处理消息转发至对应的内部延时主题中之后,还包括:时间单位转换模块。
[0045]时间单位转换模块,用于将所述待处理消息的剩余延时时间的时间单位转换为与所述待处理消息当前所在的内部延时主题延时等级一致的时间单位。
[0046]根据本公开的实施例,所述消息转发模块包括解析子模块和发送子模块。
[0047]解析子模块,用于解析所述待处理消息标签,以确定所述待处理消息的真实主题;
[0048]发送子模块,用于将所述待处理消息发送至所述真实主题。
[0049]根据本公开实施例,还包括:监控模块和消息排序模块。
[0050]监控模块,用于定时监控每个内部延时主题下分区的数据量;当确定所述分区的数据量大于第二预设阈值时,停止接收新消息。
[0051]消息排序模块,用于根据所述待处理消息的预计发送时间戳将所述待处理消息进行排序。
[0052]本公开的第三方面提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种延时消息的处理方法,应用于消息中间件集群,所述消息中间件集群包括多个内部延时主题,每个所述内部延时主题具有对应的延时等级,每一所述延时等级对应一个延时区间,其特征在于,所述方法包括:响应于生产者的消息发送操作,获取待处理消息的延时信息,所述延时信息包括待处理消息的初始延时等级;根据所述初始延时等级将所述待处理消息转发至对应的内部延时主题中;根据所述待处理消息的剩余延时时间将所述待处理消息向目标延时主题流转,其中,所述目标延时主题的延时等级在所述多个内部延时主题中最低;以及当确定所述待处理消息满足发送条件时,将所述待处理消息从所述目标延时主题转发至真实主题,以供消费者消费。2.根据权利要求1所述的延时消息的处理方法,其特征在于,所述根据所述待处理消息的剩余延时时间将所述待处理消息向目标延时主题流转包括:定时监控每个内部延时主题中待处理消息的剩余延时时间;当所述剩余延时时间小于当前内部延时主题对应延时区间的最小值时,将所述待处理消息转发至下一延时等级的内部延时主题中;以及循环上述消息转发操作直至将所述待处理消息转发至目标延时主题。3.根据权利要求2所述的延时消息的处理方法,其特征在于,所述每个内部延时主题的消息的监控频率与所述内部延时主题的延时等级呈负相关。4.根据权利要求1所述的延时消息的处理方法,其特征在于,所述获取待处理消息的延时信息包括:根据所述待处理消息的头标签确定预计发送时间戳;根据所述预计发送时间戳和当前时间确定所述待处理消息的延时时间;以及根据所述延时时间确定所述待处理消息的初始延时等级。5.根据权利要求1所述的延时消息的处理方法,其特征在于,在根据所述初始延时等级将所述待处理消息转发至对应的内部延时主题中之后,还包括:将所述待处理消息的剩余延时时间的时间单位转换为与所述待处理消息当前所在的内部延时主题延时等级一致的时间单位。6.根据权利要求1所述的延时消息的处理方法,其特征在于,所述确定所述待处理消息满足发送条件包括:当确定所述待处理消息的剩余延时时间小于第一预设阈值时,确定...

【专利技术属性】
技术研发人员:杨旭杰孟江蔡佳纯冯子杰
申请(专利权)人:中国工商银行股份有限公司
类型:发明
国别省市:

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

1