首页 / 专利库 / 软件 / 中间件 / 消息中间件 / 一种解决消息处理顺序及疏导消息处理的方法

一种解决消息处理顺序及疏导消息处理的方法

阅读:1032发布:2020-07-22

专利汇可以提供一种解决消息处理顺序及疏导消息处理的方法专利检索,专利查询,专利分析的服务。并且一种解决消息处理顺序及疏导消息处理的实现方法,包括消息 中间件 、消息接收应用,消息消费应用,关系型 数据库 ;步骤如下:1)在客户端发送 请求 前增加消息内容,消息数据唯一识别码,作为发送数据内容的唯一识别码;消息数据链路 串联 是以消息数据唯一识别码和消息发生时间作为串联依据;2) 消息中间件 由消息路由完成消息数据分发到对应消费应用;3)消费者应用中接收层根据对应消息业务,消息转发存储到 指定 的关系型数据库;转储后,消息内容包含数据唯一识别码,消息体,消息业务类型,消息时间,触发时间, 锁 标识;4)消费者应用中消费层检测对应的关系型数据库有新消息时,锁定当前消息,获取当前消息后,解析并处理消息。,下面是一种解决消息处理顺序及疏导消息处理的方法专利的具体信息内容。

1.一种解决消息处理顺序及疏导消息处理的实现方法,其特征是,具体技术方案如下:
基于消息处理顺序及疏导消息处理系统架构,系统架构中包含的4个模,即消息中间件、消息接收应用,消息消费应用,关系型数据库
所述消息中间件,指支持在分布式系统中发送和接受消息的硬件软件基础设施;消息中间件利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成;提供消息传递和消息排队模型,在分布式环境下扩展进程间的通信;
所属消息接收应用和消费应用,是指从原消费者模型中把消费消息和业务处理分化出来单独的功能模块;消息接收应用用于完成从消息中间件获取消息及转储消息数据功能;
消息消费应用用于完成具体的消息业务处理;
所属关系型数据库,是指建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据;用于存储消息和附加控制消息执行的扩展信息;
消息处理的步骤如下:
步骤1:在客户端发送请求前增加消息内容,消息数据唯一识别码,作为发送数据内容的唯一识别码;消息数据链路串联是以消息数据唯一识别码和消息发生时间作为串联依据;
步骤2:消息中间件由消息路由完成消息数据分发到对应消费应用;
步骤3:消费者应用中接收层根据对应消息业务,消息转发存储到指定的关系型数据库;转储后,消息内容包含数据唯一识别码,消息体,消息业务类型,消息时间,触发时间,标识,便于遵循消息提取消费规则获取可执行消息;
步骤4:消费者应用中消费层检测对应的关系型数据库有新消息时,锁定当前消息,获取当前消息后,解析并处理消息;
步骤5:消费者应用则消费层遇到故障消息触犯消息沉降规则,异常消息下调处理优先级,并冷后一段时间,冷却后回归可执行消息顺序队列。
2.根据权利要求1所述的解决消息处理顺序及疏导消息处理的实现方法,其特征是,步骤201:构建消息中间件,定义消息接收消息和消息路由转发配置,完成接收一个或多个生产者消息,并根据消息路由转发到指定一个或多个消费接收层;
步骤202:消息接收应用从消息中间件中消费消息数据,追加数据唯一识别码,消息体,消息业务类型,消息时间,触发时间,锁标识,便于遵循消息提取消费规则获取可执行消息;
步骤203:消息消费应用主动检测关系型数存储中的消息数据,
根据消息的处理频次,自动开启一个或多个线程并行消费各个消息链路上的消息数据;
步骤204:根据消费规则,获取消息处理链上的数据,并根据关系型数据库事务的原子性和排它性锁定当前链路上的消息数据,进行消息业务处理,成功后移除消息;根据数据链路的不同,可存在多个链路同时并发执行。
3.根据权利要求1所述的解决消息处理顺序及疏导消息处理的实现方法,其特征是,所述消费规则是预定消息处理的原则,用于提供在并行环境下消息按可执行顺序并行执行以及消息沉降;具体规则如下:
1)消息的数据唯一识别码和消息时间作为消息数据链路的串联依据;数据唯一识别码是根据消息数据内容定义的唯一识别码,和业务数据相关;
2)消息数据链路上可包含一个或多个消息类型的消息数据;
3)消息数据链路遵循先进先出规则,且满足消息数据链路规则;
4)多条消息数据链路并发执行,消息数据链路消费遵循先进先出,且消息执行保持顺序性;
5)不同消息数据链路没有强关联性,业务处理且遵循冥等性;
6)消息数据链路上的消息是串行处理的。
4.根据权利要求1所述的解决消息处理顺序及疏导消息处理的实现方法,其特征是对接受消息数据扩展,追加数据唯一识别码,消息顺序时间,消息类型,锁标识,以数据唯一识别码和消息数据时间构建消息数据链。消息数据链在消息数据处理中充当梳理消息数据的作用,解决关联消息的顺序性问题和消息之间隔离的作用。
5.根据权利要求1所述的解决消息处理顺序及疏导消息处理的实现方法,其特征是,在消息转储到关系型库中,并行消费多条消息数据链数据,解决了消息并行执行问题,消息数据链上的消息有先后顺序性,以串行执行,解决了消息的顺序问题。

说明书全文

一种解决消息处理顺序及疏导消息处理的方法

技术领域

[0001] 本发明属于计算机处理技术的消息处理领域,具体涉及一种消息处理顺序及疏导消息处理的方法。

背景技术

[0002] 消息系统目前已经广泛使用于互联网企业,各类业务系统都有它的身影,一方面是其传统的功能特点:系统间调用的异步解耦,减低系统的复杂度、流量的削峰填谷,便于业务弹性伸缩、易于实现最终一致性系统,避免分布式事务对性能的影响、支持P2P(点对点的调用)和pub/sub模式减少RPC的多次调用(广播通知机制)等。另外随着业务的快速增长,企业内部需要大量数据的同步传输,流式计算等应用都需要非常稳定高效的传输通道给予支持,消息系统在其中充当了重要的色。
[0003] 分布式消息系统作为实现分布式系统可扩展、可伸缩性的关键组件,需要具有高吞吐量、高可用等特点。分布式消息系统消息系统在设计使用时,就不可避免消息消息的顺序问题,重复问题以及数据的关联性等问题,业界普遍做法是使用串行方式执行消费消息,这样就造成消息不能并行化消费处理,严重降低了消息的处理速度,吞吐量下降,当消息堆积或部分消息异常时,容易引起消费端堵塞,针对以上问题,提出一种消息处理顺序及疏导消息处理的方法,完成构建消息数据链路,多条链路并行执行来达到并行消费处理的目的,消息数据链路上消息处理超时或异常,以冻结中断该消息链路上的消息,来达到疏导消息处理的目的。
[0004] CN201510483419.1公开了一种通知消息处理方法及装置,首先利用保序队列根据预设规则按序存储相应的通知消息,这样可以保证对各保护序列中的通知消息进行处理时的处理顺序与接收到各通知消息的顺序一致;然后监测各保对序列中是否有存入新通知消息,当监测到某一保序队列存入新通知消息时,从线程池中选择出当前工作状态为空闲状态的工作线程模,利用该工作线程模块对该保序队列存入的新通知消息进行处理。CN201510483419.1采用线程池可以实现对线程池中的工作线程的复用,为了能使用原少于保序队列数据的线程就能有效的完成对全部通知消息的处理,提升系统资源利用率。

发明内容

[0005] 为解决现有技术存在的问题,本发明的目的是,通过将消费者模式中接收和消费分化隔离,消息系统接收后转发存入到对应一个或多个关系型数据库中,由隔离出来的消费层处理消费数据,当监测到有消息存入时,自动启动消费模块。在遇到有阻塞消息时,消息触发消息处理沉降机制,疏导消费模块消息处理。同时增加定义消息信息和消息数据链串联规则,避免消息之间相互干扰和错乱。本发明的目的能解决消息处理的顺序性,明显提高消费者消费的吞吐量。
[0006] 本发明的技术方案,一种解决消息处理顺序及疏导消息处理的实现方法,基于系统架构中包含的4个模块,即消息中间件、消息接收应用,消息消费应用,关系型数据库;
[0007] 所述消息中间件,指支持在分布式系统中发送和接受消息的硬件软件基础设施;消息中间件利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成;提供消息传递和消息排队模型,在分布式环境下扩展进程间的通信;
[0008] 所属消息接收应用和消费应用,是指从原消费者模型中把消费消息和业务处理分化出来单独的功能模块;消息接收应用用于完成从消息中间件获取消息及转储消息数据功能;消息消费应用用于完成具体的消息业务处理;
[0009] 所属关系型数据库,是指建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据;用于存储消息和附加控制消息执行的扩展信息;
[0010] 步骤1:在客户端发送请求前增加消息内容,消息数据唯一识别码,作为发送数据内容的唯一识别码;消息数据链路串联是以消息数据唯一识别码和消息发生时间作为串联依据。
[0011] 步骤2:消息中间件由消息路由完成消息数据分发到对应消费应用;
[0012] 步骤3:消费者应用中接收层根据对应消息业务,消息转发存储到指定的关系型数据库;转储后,消息内容包含数据唯一识别码,消息体,消息业务类型,消息时间,触发时间,标识,便于遵循消息提取消费规则获取可执行消息;
[0013] 步骤4:消费者应用中消费层检测对应的关系型数据库有新消息时,锁定当前消息,获取当前消息后,解析并处理消息;
[0014] 步骤5:消费者应用则消费层遇到故障消息触犯消息沉降规则,异常消息下调处理优先级,并冷后一段时间,冷却后回归可执行消息顺序队列。
[0015] 本发明中所述消费规则是预定消息处理的原则,用于提供在并行环境下消息按可执行顺序并行执行以及消息沉降。具体规则如下:
[0016] 1)消息的数据唯一识别码和消息时间作为消息数据链路的串联依据。数据唯一识别码是根据消息数据内容定义的唯一识别码,和业务数据相关。
[0017] 2)消息数据链路上可包含一个或多个消息类型的消息数据。
[0018] 3)消息数据链路遵循先进先出规则,且满足消息数据链路规则。
[0019] 4)多条消息数据链路并发执行,消息数据链路消费遵循先进先出,且消息执行保持顺序性。
[0020] 5)不同消息数据链路没有强关联性,业务处理且遵循冥等性。
[0021] 6)消息数据链路上的消息是串行处理的。
[0022] 对接受消息数据扩展,追加数据唯一识别码,消息顺序时间,消息类型,锁标识,以数据唯一识别码和消息数据时间构建消息数据链。消息数据链在消息数据处理中充当梳理消息数据的作用,解决关联消息的顺序性问题和消息之间隔离的作用。
[0023] 在消息转储到关系型库中,并行消费多条消息数据链数据,解决了消息并行执行问题,消息数据链上的消息有先后顺序性,以串行执行,解决了消息的顺序问题。
[0024] 有益效果
[0025] 与现有技术相比,其显著优点以及形成的效果有:
[0026] (1)本发明通过为消息数据内容增加数据唯一识别码,实现了多条消息的数据串联,解决了消息消费并行处理的没有关联的问题。
[0027] (2)本发明通过对消息处理原则控制消息执行顺序,降级隔离,重试补偿机制,以数据流为原则构建消息数据链,解决了消息的关联性和消息的顺序问题,关键性的支撑了消费层可并行处理。
[0028] (3)本发明通过为消费者职能分化为接受层和消费层,弱化消息接收时处理,只保留了接收和转储,可最大化得消费消息中间件上消息数据,消费业务由具体消费层控制处理,可根据消息数据链并发执行,优点在于可横向拓展业务消费层应用,增大消息业务处理的吞吐量。
[0029] (4)本发明通过对分布式消息系统数据转储到一个或多个关系型数据存储中,增加了消息的关联特征,利用数据库的原子性和排他锁,锁定和获取可执行序列的消息,避免了消息的错乱和重复执行。
[0030] (5)本发明通过对转出后的数据增加消息执行的优先级,可控制消息消费的执行优先级,异常消息隔离,可执行消息快速处理,降低了故障消息引起系统拥堵的概率。
[0031] (6)本发明通过对消息分发转储到多个关系型数据存储中,转储时可有中间件控制路由转发到对应的消息接收层应用中,特点是消息转发灵活,另可部署多个剥离出来的消费层并行消费消息,极大的提升了服务的消费效率。附图说明
[0032] 图1为本发明实施例中消息系统实现的系统结构示意图
[0033] 图2为本发明实施例中消息系统方法实现流程图

具体实施方式

[0034] 图1为本发明实施例中解决消息处理顺序及疏导消息处理方法实现的系统结构示意图,该系统架构中包含4个主体,即消息中间件、消息接收应用,消息消费应用,关系型数据库;
[0035] 所述消息中间件,是指支持在分布式系统中发送和接受消息的硬件或软件基础设施;消息中间件利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成。通过提供消息传递和消息排队模型,它可以在分布式环境下扩展进程间的通信。
[0036] 所属消息接收应用和消费应用,是指从原消费者模型中把消费消息和业务处理分化出来单独的功能模块。消息接收应用用于完成从消息中间件获取消息及转储消息数据功能。消息消费应用用于完成具体的消息业务处理。
[0037] 所属关系型数据库,是指建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。用于存储消息和附加控制消息执行的扩展信息。
[0038] 图2为本发明实施例中解决消息处理顺序及疏导消息处理方法实现流程图,具体步骤有:
[0039] 步骤201:构建消息中间件,定义消息接收消息和消息路由转发配置,完成接收一个或多个生产者消息,并根据消息路由转发到指定一个或多个消费接收层。
[0040] 步骤202:消息接收应用从消息中间件中消费消息数据,追加数据唯一识别码,消息体,消息业务类型,消息时间,触发时间,锁标识,便于遵循消息提取消费规则获取可执行消息。
[0041] 步骤203:消息消费应用主动检测关系型数存储中的消息数据,
[0042] 根据消息的处理频次,自动开启一个或多个线程并行消费各个消息链路上的消息数据。
[0043] 步骤204:根据消费规则,获取消息处理链上的数据,并根据关系型数据库事务的原子性和排它性锁定当前链路上的消息数据,进行消息业务处理,成功后移除消息。根据数据链路的不同,可存在多个链路同时并发执行。
[0044] 步骤205:消息遇到故障时,消息进入当前冻结状态,当消息触发时间进入新的触发时间后,冻结期解除重新回归可处理消息队列,直至消息消费成功或超过处理时间或重复执行次数限制。
[0045] 以上所述仅为本发明的一种实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均以包含在本发明的保护范围之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈