一种消息全生命周期处理方法及分布式消息系统技术方案

技术编号:36533923 阅读:64 留言:0更新日期:2023-02-01 16:18
本发明专利技术公开了一种消息全生命周期处理方法及分布式消息系统,方法包括:获取外部系统下发消息,投递所述消息到消息队列;从所述消息队列消费所述消息,发送所述消息到运营商;获取运营商的响应结果,生成提交报告;对所述提交报告进行入库保存;获取运营商的消息回执;提取所述入库保存的所述提交报告与所述消息回执进行匹配,生成所述消息的完整信息。本发明专利技术通过消息队列实现消息的流转,可以解决由于数据库写入的性能瓶颈,影响消息下发的速度的问题;并对提交报告的入库保存,进而通过提取所述入库保存的提交报告与消息回执进行匹配,能够解决集群模式下消息回执的匹配问题,可广泛应用于通信技术领域。可广泛应用于通信技术领域。可广泛应用于通信技术领域。

【技术实现步骤摘要】
一种消息全生命周期处理方法及分布式消息系统


[0001]本专利技术涉及通信
,尤其是一种消息全生命周期处理方法及分布式消息系统。

技术介绍

[0002]分布式消息系统需要处理从消息下发、提交报告返回、消息回执返回、回执匹配以及消息入库等等的操作。由于系统是分布式的,消息从下发到入库,是由不同的模块去负责。需要保证消息在多个模块间流转时,消息不丢失;消息回执返回时,提交报告要能和消息回执匹配得上;能够做到水平扩容,提升系统整体性能;出现单点问题时,整个系统依旧正常运行。
[0003]而现有技术为了保证消息不丢失,会先将消息保存入数据库,再将消息发送到运营商。运营商返回的提交报告会保存在内存。等运营商的消息回执返回后,会和内存中的提交报告进行匹配,最终得到这条消息完整的信息。但是现有技术存在以下问题:
[0004]1、消息回执匹配的模块,只能单点部署。因为提交报告是放在模块的内存中,如果将模块进行集群部署的话,消息回执返回后,就可能匹配不上提交报告。
[0005]2、消息先保存入数据库,会让消息下发的速度受到写入数据库性能影响。

技术实现思路

[0006]有鉴于此,本专利技术实施例提供了一种高效的,一种消息全生命周期处理方法及分布式消息系统。
[0007]一方面,本专利技术实施例提供了一种消息全生命周期处理方法,包括:
[0008]获取外部系统下发消息,投递所述消息到消息队列;
[0009]从所述消息队列消费所述消息,发送所述消息到运营商;获取运营商的响应结果,生成提交报告;
[0010]对所述提交报告进行入库保存;
[0011]获取运营商的消息回执;
[0012]提取所述入库保存的所述提交报告与所述消息回执进行匹配,生成所述消息的完整信息。
[0013]可选地,所述获取运营商的响应结果,生成提交报告,包括:
[0014]获取运营商的响应结果,与所述消息组合,生成提交报告;
[0015]其中,所述提交报告包括终端号、消息内容、消息id和消息响应结果。
[0016]可选地,还包括:
[0017]投递所述提交报告到消息队列。
[0018]可选地,所述对所述提交报告进行入库保存,包括:
[0019]将所述提交报告存储到数据库;
[0020]和,将所述提交报告保存到分布式缓存。
[0021]可选地,还包括:
[0022]投递所述消息回执到消息队列。
[0023]可选地,所述提取所述入库保存的所述提交报告与所述消息回执进行匹配,生成所述消息的完整信息,包括:
[0024]提取所述入库保存的所述提交报告;
[0025]其中,所述提交报告包括终端号、消息内容、消息id和消息响应结果;
[0026]从所述消息队列消费所述消息回执;
[0027]其中,所述消息回执包括消息id和最终送达结果;
[0028]通过所述消息id,对所述消息回执和所述提交报告进行匹配,生成所述消息的完整信息;
[0029]其中,所述完整信息包括终端号、消息内容、消息id和最终送达结果。
[0030]可选地,还包括:
[0031]将所述完整信息存储到数据库。
[0032]第二方面,本专利技术实施例提供了一种消息全生命周期处理系统,包括:
[0033]请求接收模块,用于获取外部系统下发的消息请求,投递所述消息请求到消息队列;
[0034]渠道对接模块,用于从所述消息队列消费所述消息,发送所述消息到运营商;获取运营商的响应结果,生成提交报告;和,获取运营商的消息回执;
[0035]数据入库模块,用于对所述提交报告进行入库保存;
[0036]回执匹配模块,用于提取所述入库保存的所述提交报告与所述消息回执进行匹配,生成所述消息的完整信息。
[0037]另一方面,本专利技术实施例提供了一种消息全生命周期处理装置,包括处理器以及存储器;
[0038]所述存储器用于存储程序;
[0039]所述处理器执行所述程序实现如前面所述的方法。
[0040]另一方面,本专利技术实施例提供了一种计算机可读存储介质,所述存储介质存储有程序,所述程序被处理器执行实现如前面所述的方法。
[0041]本专利技术实施例还公开了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器可以从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行前面的方法。
[0042]本专利技术的实施例首先获取外部系统下发消息,投递所述消息到消息队列;从所述消息队列消费所述消息,发送所述消息到运营商;获取运营商的响应结果,生成提交报告;对所述提交报告进行入库保存;获取运营商的消息回执;提取所述入库保存的所述提交报告与所述消息回执进行匹配,生成所述消息的完整信息。本专利技术通过消息队列实现消息的流转,实现了消息下发和提交报告入库保存的隔离,进而能够实现消息下发与提交报告入库互不影响的进行,可以解决由于数据库写入的性能瓶颈,影响消息下发的速度的问题;并对提交报告的入库保存,进而通过提取所述入库保存的提交报告与消息回执进行匹配,能够解决集群模式下消息回执的匹配问题。
附图说明
[0043]为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0044]图1为本专利技术实施例提供的消息全生命周期处理方法的整体步骤流程示意图;
[0045]图2为本专利技术实施例提供的分布式消息系统的示意图;
[0046]图3为本专利技术实施例提供的消息全生命周期处理装置的示意图;
[0047]图4为本专利技术实施例提供的消息下发流程的时序示意图;
[0048]图5为本专利技术实施例提供的回执返回以及匹配流程的时序示意图。
具体实施方式
[0049]为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
[0050]为了使本申请内容及技术方案更加清楚明白,对相关术语及含义进行说明:
[0051]消息的全生命周期:消息下发、提交报告返回、消息回执返回、回执匹配以及消息入库。这些流程组合在一起就是消息的全生命周期。
[0052]消息下发:消息从消息系统下发到运营商上。
[0053]提交报告:消息下发到运营商,运营商接收到消息后会返回响应结果,消息系统会将响应结果和消息本身组合,生成提交报告。提交报告包含终端号、消息内容、消息id以及消息响应结果。
[0054]消息回执:消息送达给到终端用户后,运营商会返回本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种消息全生命周期处理方法,其特征在于,包括:获取外部系统下发消息,投递所述消息到消息队列;从所述消息队列消费所述消息,发送所述消息到运营商;获取运营商的响应结果,生成提交报告;对所述提交报告进行入库保存;获取运营商的消息回执;提取所述入库保存的所述提交报告与所述消息回执进行匹配,生成所述消息的完整信息。2.根据权利要求1所述的一种消息全生命周期处理方法,其特征在于,所述获取运营商的响应结果,生成提交报告,包括:获取运营商的响应结果,与所述消息组合,生成提交报告;其中,所述提交报告包括终端号、消息内容、消息id和消息响应结果。3.根据权利要求2所述的一种消息全生命周期处理方法,其特征在于,还包括:投递所述提交报告到消息队列。4.根据权利要求1所述的一种消息全生命周期处理方法,其特征在于,所述对所述提交报告进行入库保存,包括:将所述提交报告存储到数据库;和,将所述提交报告保存到分布式缓存。5.根据权利要求1所述的一种消息全生命周期处理方法,还包括:投递所述消息回执到消息队列。6.根据权利要求5所述的一种消息全生命周期处理方法,其特征在于,所述提取所述入库保存的所述提交报告与所述消息回执进行匹配,生成所述消息的完整信息,包括:提取所述入库保存的所述提交报告;其...

【专利技术属性】
技术研发人员:黄卓杰黄微卢超
申请(专利权)人:广州市玄武无线科技股份有限公司
类型:发明
国别省市:

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

1