一种基于多云环境的分布式消息系统及管理方法转让专利

申请号 : CN202011423428.9

文献号 : CN112256461B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 吴小炎

申请人 : 万邑通商(北京)信息科技有限公司

摘要 :

本发明提供一种基于多云环境的分布式消息系统及管理方法,其中,系统包括:分布式消息模块,用于基于RabbitMQ的消息中间件在多个云平台上建立小集群,各小集群组成一个消息互通的大集群;路由模块,用于基于预设的消息模式并采用预设的路由规则将消息从源端路由至消费端,消息在消息中间件中进行路由;消息集成SDK,用于完成消息在路由过程中的发送和接收;消息监控模块,用于对各小集群的集群状态、路由网络状态、消息堆积和消息消费者异常进行监控和预警;异常处理模块,用于当消息监控模块发出预警时,进行相应处理。本发明的基于多云环境的分布式消息系统及管理方法,保证了多云平台、跨国际互联网环境下分布式系统集成的解耦。

权利要求 :

1.一种基于多云环境的分布式消息系统,其特征在于,包括:分布式消息模块,用于基于RabbitMQ的消息中间件在多个云平台上建立小集群,各小集群组成一个消息互通的大集群;

路由模块,用于基于预设的消息模式并采用预设的路由规则将消息从源端路由至消费端,所述消息在所述消息中间件中进行路由;

消息集成SDK,用于完成消息在路由过程中的发送和接收;

消息监控模块,用于对各所述小集群的集群状态、路由网络状态、消息堆积和消息消费者异常进行监控和预警;

异常处理模块,用于当所述消息监控模块发出预警时,进行相应处理;

稳定性评估模块,用于对各消息中间件的运行能力进行监测;

所述稳定性评估模块执行包括如下操作:获取预设历史运行数据库中的历史运行数据,所述历史运行数据包括:预设的统计周期内每个消息从其对应源端抵达对应消费端的路由时间、每个消息从其对应源端抵达消息中间件的发送时间、每个消息从消息中间件抵达对应消费端的接收时间以及过程参数;所述过程参数包括:每个消息对应的源端位置和消费端位置、路由过程中历经的消息中间件对应的预设经验等级、进入该消息中间件所处的起始队列序号以及是否设置优先处理;

基于源端位置和消费端位置采用确定每个消息对应路由过程的距离指标值;

其中,基于源端位置和消费端位置确定每个消息在对应路由过程中的距离指标值,具体包括:

根据预设确定规则确定源端位置和消费端位置之间的路由路线,统计所述路由路线上跨国次数和跨平台次数;

基于跨国次数数量和跨平台次数数量计算每个消息对应路由过程中的距离指标值:其中, 为消息在对应路由过程中的距离指标值, 为该消息对应路由路线上的跨国次数, 为该消息对应路由路线上的跨平台次数, 和 为预设的权重值;

根据预设制定规则基于历经该消息中间件的第 个消息的距离指标值 制定检索区间,其中, 为预设的差值阈值;

遍历历经该消息中间件的全部消息对应的距离指标值,当距离指标值落在检索区间内时,将对应参数列入待确定集合;

计算每个消息中间件的能力指标值:为消息中间件的能力指标值, 为历经消息中间件的第 个消息的路由时间,为历经消息中间件的第 个消息的起始队列序号, 为消息中间件对应的预设平均处理时间, 为消息中间件对应的预设经验等级, 为历经消息中间件的消息总数目, 和为预设的权重值, 为待确定集合中第 个消息对应的发送时间, 为待确定集合中第 个消息对应的接收时间, 为待确定集合中消息的总数目;

在预设时间段内每隔预设的时间间隔计算每个消息中间件的能力指标值后输出并按时间顺序组合成能力指标值集合;

基于所述能力指标值集合计算消息中间件稳定评价指数;

若所述稳定评价指数小于等于预设指数阈值将其列入能力欠佳消息中间件列表后输出。

2.如权利要求1所述的一种基于多云环境的分布式消息系统,其特征在于,所述消息模式包括:点对点的分布式消息路由模式、发布和订阅模式、一对一的消息分片模式和一对多的消息广播模式中一种或多种结合。

3.如权利要求1所述的一种基于多云环境的分布式消息系统,其特征在于,所述异常处理模块当消息消费失败时,自动进行重试并配置重试规则以及进行消息备份。

4.如权利要求1所述的一种基于多云环境的分布式消息系统,其特征在于,稳定性评估模块基于所述能力指标值集合计算消息中间件稳定评价指数,具体包括:基于所述能力指标值集合根据预设绘制规则绘制目标曲线;

获取预设的多个采样点;

获取所述目标曲线上与所述采样点对应的目标值输出后组合成目标值集合;

计算消息中间件稳定评价指数:

其中, 为稳定评价指数, 为目标值集合中采样点 对应的目标值,为目标值集合中采样点 对应的目标值, 为采样点的初始值, 为采样点的极值, 为预设采样值阈值数据库中第 个采样值阈值, 为采样值阈值数据库中采样值阈值的总个数, 为取极大值函数。

5.一种基于多云环境的分布式消息管理方法,其特征在于,包括:通过分布式消息模块基于RabbitMQ的消息中间件在多个云平台上建立小集群,各小集群组成一个消息互通的大集群;

通过路由模块基于预设的消息模式并采用预设的路由规则将消息从源端路由至消费端,所述消息在所述消息中间件中进行路由;

通过消息集成SDK完成消息在路由过程中的发送和接收;

通过消息监控模块对各所述小集群的集群状态、路由网络状态、消息堆积和消息消费者异常进行监控和预警;

通过异常处理模块当所述消息监控模块发出预警时,进行相应处理;

对各消息中间件的运行能力进行监测;

其中,对各消息中间件的运行能力进行监测,具体包括:获取预设历史运行数据库中的历史运行数据,所述历史运行数据包括:预设的统计周期内每个消息从其对应源端抵达对应消费端的路由时间、每个消息从其对应源端抵达消息中间件的发送时间、每个消息从消息中间件抵达对应消费端的接收时间以及过程参数;所述过程参数包括:每个消息对应的源端位置和消费端位置、路由过程中历经的消息中间件对应的预设经验等级、进入该消息中间件所处的起始队列序号以及是否设置优先处理;

基于源端位置和消费端位置采用确定每个消息对应路由过程的距离指标值;

其中,基于源端位置和消费端位置确定每个消息在对应路由过程中的距离指标值,具体包括:

根据预设确定规则确定源端位置和消费端位置之间的路由路线,统计所述路由路线上跨国次数和跨平台次数;

基于跨国次数数量和跨平台次数数量计算每个消息对应路由过程中的距离指标值:其中, 为消息在对应路由过程中的距离指标值, 为该消息对应路由路线上的跨国次数, 为该消息对应路由路线上的跨平台次数, 和 为预设的权重值;

根据预设制定规则基于历经该消息中间件的第 个消息的距离指标值 制定检索区间 ,其中, 为预设的差值阈值;

遍历历经该消息中间件的全部消息对应的距离指标值,当距离指标值落在检索区间内时,将对应参数列入待确定集合;

计算每个消息中间件的能力指标值:为消息中间件的能力指标值, 为历经消息中间件的第 个消息的路由时间,为历经消息中间件的第 个消息的起始队列序号, 为消息中间件对应的预设平均处理时间, 为消息中间件对应的预设经验等级, 为历经消息中间件的消息总数目,和 为预设的权重值, 为待确定集合中第 个消息对应的发送时间, 为待确定集合中第 个消息对应的接收时间, 为待确定集合中消息的总数目;

在预设时间段内每隔预设的时间间隔计算每个消息中间件的能力指标值后输出并按时间顺序组合成能力指标值集合;

基于所述能力指标值集合计算消息中间件稳定评价指数;

若所述稳定评价指数小于等于预设指数阈值将其列入能力欠佳消息中间件列表后输出。

6.如权利要求5所述的一种基于多云环境的分布式消息管理方法,其特征在于,所述消息模式包括:点对点的分布式消息路由模式、发布和订阅模式、一对一的消息分片模式和一对多的消息广播模式中一种或多种结合。

7.如权利要求5所述的一种基于多云环境的分布式消息管理方法,其特征在于,所述异常处理模块当消息消费失败时,自动进行重试并配置重试规则以及进行消息备份。

8.如权利要求5所述的一种基于多云环境的分布式消息管理方法,其特征在于,基于所述能力指标值集合计算消息中间件稳定评价指数,具体包括:基于所述能力指标值集合根据预设绘制规则绘制目标曲线;

获取预设的多个采样点;

获取所述目标曲线上与所述采样点对应的目标值输出后组合成目标值集合;

计算消息中间件稳定评价指数:

其中, 为稳定评价指数, 为目标值集合中采样点 对应的目标值,为目标值集合中采样点 对应的目标值, 为采样点的初始值, 为采样点的极值, 为预设采样值阈值数据库中第 个采样值阈值, 为采样值阈值数据库中采样值阈值的总个数, 为取极大值函数。

说明书 :

一种基于多云环境的分布式消息系统及管理方法

技术领域

[0001] 本发明涉及分布式消息技术领域,特别涉及一种基于多云环境的分布式消息系统及管理方法。

背景技术

[0002] 目前,随着云计算技术的发展、应用的创新和市场需求的变化,单一云平台难以满足全时全域的优质服务需求和灵活多样的个性化定制的需求,为充分利用各厂商云平台的
优点,企业云环境正向异构多云集成化方向发展。
[0003] 业务全球化背景下,企业软件应用在异构多云环境下的分布式系统集成,特别是在跨国际互联网网络延迟较高的情况下,传统的基于远程过程调用的集成方式,已经无法
满足系统的快速集成和对业务快速反应的需求;
[0004] 同时,传统的分布式消息系统在运行过程汇总多采用人工监控,人力成本较大。

发明内容

[0005] 本发明目的之一在于提供了一种基于多云环境的分布式消息系统及管理方法,利用基于RabbitMQ的消息中间件在云平台建立小集群,多个小集群组成跨国际互联网的全球
化大集群,保证了多云平台、跨国际互联网环境下分布式系统集成的解耦,在跨国际互联网
网络延迟较高的情况下可满足系统的快速集成和对业务快速反应的需求,同时,对系统进
行监控和预警,还可自动进行异常处理,提升了系统运行的稳定性,减轻了人力成本。
[0006] 本发明实施例提供的一种基于多云环境的分布式消息系统,包括:
[0007] 分布式消息模块,用于基于RabbitMQ的消息中间件在多个云平台上建立小集群,各小集群组成一个消息互通的大集群;
[0008] 路由模块,用于基于预设的消息模式并采用预设的路由规则将消息从源端路由至消费端,消息在消息中间件中进行路由;
[0009] 消息集成SDK,用于完成消息在路由过程中的发送和接收;
[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] 通过分布式消息模块基于RabbitMQ的消息中间件在多个云平台上建立小集群,各小集群组成一个消息互通的大集群;
[0041] 通过路由模块基于预设的消息模式并采用预设的路由规则将消息从源端路由至消费端,消息在消息中间件中进行路由;
[0042] 通过消息集成SDK完成消息在路由过程中的发送和接收;
[0043] 通过消息监控模块对各小集群的集群状态、路由网络状态、消息堆积和消息消费者异常进行监控和预警;
[0044] 通过异常处理模块当消息监控模块发出预警时,进行相应处理。
[0045] 优选的,消息模式包括:点对点的分布式消息路由模式、发布和订阅模式、一对一的消息分片模式和一对多的消息广播模式中一种或多种结合。
[0046] 优选的,异常处理模块当消息消费失败时,自动进行重试并配置重试规则以及进行消息备份。
[0047] 优选的,一种基于多云环境的分布式消息管理方法,还包括:
[0048] 对各消息中间件的运行能力进行监测;
[0049] 其中,对各消息中间件的运行能力进行监测,具体包括:
[0050] 获取预设历史运行数据库中的历史运行数据,历史运行数据包括:预设的统计周期内每个消息从其对应源端抵达对应消费端的路由时间、每个消息从其对应源端抵达消息
中间件的发送时间、每个消息从消息中间件抵达对应消费端的接收时间以及过程参数;过
程参数包括:每个消息对应的源端位置和消费端位置、路由过程中历经的消息中间件对应
的预设经验等级、进入该消息中间件所处的起始队列序号以及是否设置优先处理;
[0051] 基于源端位置和消费端位置采用确定每个消息对应路由过程的距离指标值;
[0052] 其中,基于源端位置和消费端位置确定每个消息在对应路由过程中的距离指标值,具体包括:
[0053] 根据预设确定规则确定源端位置和消费端位置之间的路由路线,统计路由路线上跨国次数和跨平台次数;
[0054] 基于跨国次数数量和跨平台次数数量计算每个消息对应路由过程中的距离指标值:
[0055]
[0056] 其中, 为消息在对应路由过程中的距离指标值, 为该消息对应路由路线上的跨国次数, 为该消息对应路由路线上的跨平台次数, 和 为预设的权
重值;
[0057] 根据预设制定规则基于历经该消息中间件的第 个消息的距离指标值 制定检索区间 ,其中, 为预设的差值阈值;
[0058] 遍历历经该消息中间件的全部消息对应的距离指标值,当距离指标值落在检索区间 内时,将对应参数列入待确定集合;
[0059] 计算每个消息中间件的能力指标值:
[0060]
[0061] 为消息中间件的能力指标值, 为历经消息中间件的第 个消息的路由时间, 为历经消息中间件的第 个消息的起始队列序号, 为消息中间件对应的预设平
均处理时间, 为消息中间件对应的预设经验等级, 为历经消息中间件的消息总数
目, 和 为预设的权重值, 为待确定集合中第 个消息对应的发送时间, 为待
确定集合中第 个消息对应的接收时间, 为待确定集合中消息的总数目;
[0062] 在预设时间段内每隔预设的时间间隔计算每个消息中间件的能力指标值后输出并按时间顺序组合成能力指标值集合;
[0063] 基于能力指标值集合计算消息中间件稳定评价指数;
[0064] 若稳定评价指数小于等于预设指数阈值将其列入能力欠佳消息中间件列表后输出。
[0065] 优选的,基于能力指标值集合计算消息中间件稳定评价指数,具体包括:
[0066] 基于能力指标值集合根据预设绘制规则绘制目标曲线;
[0067] 获取预设的多个采样点;
[0068] 获取目标曲线上与采样点对应的目标值输出后组合成目标值集合;
[0069] 计算消息中间件稳定评价指数:
[0070]
[0071] 其中, 为稳定评价指数, 为目标值集合中采样点 对应的目标值, 为目标值集合中采样点 对应的目标值, 为采样点的初始值, 为采
样点的极值, 为预设采样值阈值数据库中第 个采样值阈值, 为采样值阈值数据库
中采样值阈值的总个数, 为取极大值函数。
[0072] 本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明
书、权利要求书、以及附图中所特别指出的结构来实现和获得。
[0073] 下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。

附图说明

[0074] 附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
[0075] 图1为本发明实施例中一种基于多云环境的分布式消息系统的示意图;
[0076] 图2为本发明实施例中一种基于多云环境的分布式消息管理方法的流程图。

具体实施方式

[0077] 以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
[0078] 本发明实施例提供了一种基于多云环境的分布式消息系统,如图1所示,包括:
[0079] 分布式消息模块1,用于基于RabbitMQ的消息中间件在多个云平台上建立小集群,各小集群组成一个消息互通的大集群;
[0080] 路由模块2,用于基于预设的消息模式并采用预设的路由规则将消息从源端路由至消费端,消息在消息中间件中进行路由;
[0081] 消息集成SDK3,用于完成消息在路由过程中的发送和接收;
[0082] 消息监控模块4,用于对各小集群的集群状态、路由网络状态、消息堆积和消息消费者异常进行监控和预警;
[0083] 异常处理模块5,用于当消息监控模块4发出预警时,进行相应处理。
[0084] 上述技术方案的工作原理为:
[0085] 分布式消息模块1基于RabbitMQ的消息中间件在云平台建立小集群,多个消息互通(通讯连接)的小集群组成大集群,由于云平台设置的地区可不同,该大集群属于跨国际
互联网的全球化大集群;路由模块2负责将消息从源端路由至消费端;例如:当消费端订阅
某消息时,路由模块2将该消息从其对应源端路由至该消费端;消息在消息中间件中路由,
由消息中间件负责分发;消息集成SDK3用于支持消息在路由过程中的发送和接收;消息监
控模块4对小集群的集群状态、路由网络状态、消息堆积和消费者异常等进行监控和预警;
集群状态具体为集群上的动态负载状态等;路由网络状态具体为:路由网络是否通畅(即是
否发生故障);消息堆积具体为:大量消息堆积在同一消息中间件中;消息消费者异常具体
为:无法获取某消费者对应消费端的节点地址等;异常处理模块5用于当消息监控模块4发
出预警时,进行相应处理;例如:当消息消费失败时,自动进行重试并自动配制重试规则,同
时,将该消息进行备份;又例如:当消息堆积在消息中间件时,系统每隔72小时清理消息中
间件队列中长时间没有被订阅的消息;预设路由规则具体为:例如,某消息需要从X源端路
由至X目的端,查找预设规则数据库中与X源端和X目的端匹配的匹配规则,根据该匹配规则
可确定该消息的源地址、路由方向、消息路由动作和目的地址。
[0086] 上述技术方案的有益效果为:本发明实施例利用基于RabbitMQ的消息中间件在云平台建立小集群,多个小集群组成跨国际互联网的全球化大集群,保证了多云平台、跨国际
互联网环境下分布式系统集成的解耦,在跨国际互联网网络延迟较高的情况下可满足系统
的快速集成和对业务快速反应的需求,同时,对系统进行监控和预警,还可自动进行异常处
理,提升了系统运行的稳定性,减轻了人力成本。
[0087] 本发明实施例提供了一种基于多云环境的分布式消息系统,消息模式包括:点对点的分布式消息路由模式、发布和订阅模式、一对一的消息分片模式和一对多的消息广播
模式中一种或多种结合。
[0088] 上述技术方案的工作原理为:
[0089] 消息模式包含有点对点的分布式消息路由模式、发布和订阅模式、一对一的消息分片模式和一对多的消息广播模式中一种或多种结合;点对点具体为:源端发送一个消息,
只有一个消费端可接收到;发布和订阅模式具体为:源端发布消息至消息中间件,当消费端
订阅该消息时,消息中间件将该消息发送至消费端;一对一的消息分片模式具体为:在点对
点的基础上将消息分片发送;一对多的消息广播模式:将消息发布至消息中间件上,然后主
动发送至多个消费端。
[0090] 上述技术方案的有益效果为:本发明实施例的消息模式包含有多种,路由模块2可根据用户需求选择对应的消息模式将消息路由至消费端,可满足用户更多的需求,提升用
户体验,且具有更大的应用场景。
[0091] 本发明实施例提供了一种基于多云环境的分布式消息系统,异常处理模块5当消息消费失败时,自动进行重试并配置重试规则以及进行消息备份。
[0092] 上述技术方案的工作原理为:
[0093] 异常处理模块5当消息消费失败时,自动进行重试并配置重试规则,还将该消息进行备份;例如:当消息从源端发送失败时,异常处理模块5配置消息集成SDK3自动完成消息
发送的重试,重试次数和重试时间间隔可供用户定义。
[0094] 上述技术方案的有益效果为:本发明实施例的异常处理模块5当消息消费失败时,可自动进行重试并配置重试规则,将消息进行备份,不仅可提升了系统自身运行的稳定性,
减轻人力成本,还可避免消息由于消费异常造成的丢失。
[0095] 本发明实施例提供了一种基于多云环境的分布式消息系统,还包括:
[0096] 稳定性评估模块,用于对各消息中间件的运行能力进行监测;
[0097] 稳定性评估模块执行包括如下操作:
[0098] 获取预设历史运行数据库中的历史运行数据,历史运行数据包括:预设的统计周期内每个消息从其对应源端抵达对应消费端的路由时间、每个消息从其对应源端抵达消息
中间件的发送时间、每个消息从消息中间件抵达对应消费端的接收时间以及过程参数;过
程参数包括:每个消息对应的源端位置和消费端位置、路由过程中历经的消息中间件对应
的预设经验等级、进入该消息中间件所处的起始队列序号以及是否设置优先处理;
[0099] 基于源端位置和消费端位置采用确定每个消息对应路由过程的距离指标值;
[0100] 其中,基于源端位置和消费端位置确定每个消息在对应路由过程中的距离指标值,具体包括:
[0101] 根据预设确定规则确定源端位置和消费端位置之间的路由路线,统计路由路线上跨国次数和跨平台次数;
[0102] 基于跨国次数数量和跨平台次数数量计算每个消息对应路由过程中的距离指标值:
[0103]
[0104] 其中, 为消息在对应路由过程中的距离指标值, 为该消息对应路由路线上的跨国次数, 为该消息对应路由路线上的跨平台次数, 和 为预设的权
重值;
[0105] 根据预设制定规则基于历经该消息中间件的第 个消息的距离指标值 制定检索区间 ,其中, 为预设的差值阈值;
[0106] 遍历历经该消息中间件的全部消息对应的距离指标值,当距离指标值落在检索区间 内时,将对应参数列入待确定集合;
[0107] 计算每个消息中间件的能力指标值:
[0108]
[0109] 为消息中间件的能力指标值, 为历经消息中间件的第 个消息的路由时间, 为历经消息中间件的第 个消息的起始队列序号, 为消息中间件对应的预设平均
处理时间, 为消息中间件对应的预设经验等级, 为历经消息中间件的消息总数
目, 和 为预设的权重值, 为待确定集合中第 个消息对应的发送时间, 为待
确定集合中第 个消息对应的接收时间, 为待确定集合中消息的总数目;
[0110] 在预设时间段内每隔预设的时间间隔计算每个消息中间件的能力指标值后输出并按时间顺序组合成能力指标值集合;
[0111] 基于能力指标值集合计算消息中间件稳定评价指数;
[0112] 若稳定评价指数小于等于预设指数阈值将其列入能力欠佳消息中间件列表后输出。
[0113] 上述技术方案的工作原理为:
[0114] 预设历史运行数据库用于记录系统在运行中产生的运行数据;该运行数据包含有:预设统计周期(例如:60天)内每个消息从其对应源端抵达对应消费端的路由时间(即消
息从源端发送至消息中间件、消息在消息中间件中排队以及消息中间件将消息发送至消费
端的整个过程所花费的时间,当消息从源端发送时,预设计时器开始计时,抵达消费端后,
计时器停止计时),每个消息从其对应源端抵达消息中间件的发送时间(即消息从源端发送
至消息中间件所花的时间,同是采用计时器进行计时),每个消息从消息中间件抵达对应消
费端的接收时间(消息中间件将消息发送至消费端所花的时间,同是采用计时器进行计时)
以及过程参数;过程参数包含有:消息的源端位置、历经消息中间件(即路由过程中所经的
消息中间件)的预设经验等级(由人工设定,根据工作人员的监视经验等确定消息中间件的
运行能力等级)、起始队列序号(即消息进入消息中间件的队列号,若队列号为6,则第6个对
其进行处理)以及是否设置优先处理(即用户要求优先处理,消息中间件对该消息优先进行
处理);预设确定规则具体为:根据起始位置(源端位置)和终点位置(消费端位置)规划出距
离最近的路线(即路由路线);统计路由路线上跨国次数和跨平台次数(例如:该消息由美国
区某云直接路由至中国区华为云,则跨国1次,跨平台1次);确定好消息的距离指标值后,指
定检索区间,检索区间用于筛选出距离指标值相近的消息,此类消息历经该消息中间件的
过程大致相同,具有参考意义;消息中间件的平均处理时间具体为:根据大量实验统计消息
中间件分发一个消息所花费的平均时间;在预设时间段内(例如:7天)每隔预设的时间间隔
(例如:30秒)计算系统中每个消息中间件的能力指标值并按时间顺序降序排序后组合成能
力指标值集合;基于该能力指标值集合确定消息中间件的稳定评价指数,若当稳定评价指
数小于预设指数阈值时,将其列入能力欠佳消息中间件列表后输出,供工作人员查看。
[0115] 上述技术方案的有益效果为:一般的分布式消息系统均由人工监控,其产生的历史运行数据得不到充分利用,本发明实施例通过根据分布式消息系统在运行中产生的历史
运行数据对各消息中间件的运行能力进行监测,制成能力欠佳消息中间件列表输出后供工
作人员查看,省得工作人员自行确定,极大程度减轻了人力成本,工作人员可设置能力欠佳
的消息中间件暂时停止接收消息,减轻其负荷,使得消息从源端发送至能力相对优秀的消
息中间件进行处理,大大提升了系统的工作效率,同时,也更加智能化。
[0116] 本发明实施例提供了一种基于多云环境的分布式消息系统,稳定性评估模块基于能力指标值集合计算消息中间件稳定评价指数,具体包括:
[0117] 基于能力指标值集合根据预设绘制规则绘制目标曲线;
[0118] 获取预设的多个采样点;
[0119] 获取目标曲线上与采样点对应的目标值输出后组合成目标值集合;
[0120] 计算消息中间件稳定评价指数:
[0121]
[0122] 其中, 为稳定评价指数, 为目标值集合中采样点 对应的目标值, 为目标值集合中采样点 对应的目标值, 为采样点的初始值, 为
采样点的极值, 为预设采样值阈值数据库中第 个采样值阈值, 为采样值阈值数据库
中采样值阈值的总个数, 为取极大值函数。
[0123] 上述技术方案的工作原理为:
[0124] 预设绘制规则具体为:按时间顺序为横轴,数值大小为纵轴基于能力指标值集合绘制目标曲线;预设的多个采样点具体为:每隔一定的时间间隔(例如:0.1s)在横轴上选取
一个采样点,全部选取后输出;目标值具体为:采样点(横轴坐标)对应的纵轴坐标;采样值
阈值数据库中预先存储有多个采样值阈值(例如:0.01,0.03和0.05等);采样点的初始值
一般取1。
[0125] 上述技术方案的有益效果为:本发明实施例首先基于能力指标值绘制目标曲线,通过采样点对目标曲线进行采样输出目标值,根据目标值计算消息中间件的稳定评价指
数,系统预设采样值阈值数据库,该数据库中存储有多个采样值,保证对目标曲线的评价密
度,使得消息中间件的稳定评价指数更具有参考意义。
[0126] 本发明实施例提供了一种基于多云环境的分布式消息管理方法,如图2所示,包括:
[0127] S1、通过分布式消息模块1基于RabbitMQ的消息中间件在多个云平台上建立小集群,各小集群组成一个消息互通的大集群;
[0128] S2、通过路由模块2基于预设的消息模式并采用预设的路由规则将消息从源端路由至消费端,消息在消息中间件中进行路由;
[0129] S3、通过消息集成SDK3完成消息在路由过程中的发送和接收;
[0130] S4、通过消息监控模块4对各小集群的集群状态、路由网络状态、消息堆积和消息消费者异常进行监控和预警;
[0131] S5、通过异常处理模块5当消息监控模块4发出预警时,进行相应处理。
[0132] 上述技术方案的工作原理为:
[0133] 分布式消息模块1基于RabbitMQ的消息中间件在云平台建立小集群,多个消息互通(通讯连接)的小集群组成大集群,由于云平台设置的地区可不同,该大集群属于跨国际
互联网的全球化大集群;路由模块2负责将消息从源端路由至消费端;例如:当消费端订阅
某消息时,路由模块2将该消息从其对应源端路由至该消费端;消息在消息中间件中路由,
由消息中间件负责分发;消息集成SDK3用于支持消息在路由过程中的发送和接收;消息监
控模块4对小集群的集群状态、路由网络状态、消息堆积和消费者异常等进行监控和预警;
集群状态具体为集群上的动态负载状态等;路由网络状态具体为:路由网络是否通畅(即是
否发生故障);消息堆积具体为:大量消息堆积在同一消息中间件中;消息消费者异常具体
为:无法获取某消费者对应消费端的节点地址等;异常处理模块5用于当消息监控模块4发
出预警时,进行相应处理;例如:当消息消费失败时,自动进行重试并自动配制重试规则,同
时,将该消息进行备份;又例如:当消息堆积在消息中间件时,系统每隔72小时清理消息中
间件队列中长时间没有被订阅的消息;预设路由规则具体为:例如,某消息需要从X源端路
由至X目的端,查找预设规则数据库中与X源端和X目的端匹配的匹配规则,根据该匹配规则
可确定该消息的源地址、路由方向、消息路由动作和目的地址。
[0134] 上述技术方案的有益效果为:本发明实施例利用基于RabbitMQ的消息中间件在云平台建立小集群,多个小集群组成跨国际互联网的全球化大集群,保证了多云平台、跨国际
互联网环境下分布式系统集成的解耦,在跨国际互联网网络延迟较高的情况下可满足系统
的快速集成和对业务快速反应的需求,同时,对系统进行监控和预警,还可自动进行异常处
理,提升了系统运行的稳定性,减轻了人力成本。
[0135] 本发明实施例提供了一种基于多云环境的分布式消息管理方法,消息模式包括:点对点的分布式消息路由模式、发布和订阅模式、一对一的消息分片模式和一对多的消息
广播模式中一种或多种结合。
[0136] 上述技术方案的工作原理为:
[0137] 消息模式包含有点对点的分布式消息路由模式、发布和订阅模式、一对一的消息分片模式和一对多的消息广播模式中一种或多种结合;点对点具体为:源端发送一个消息,
只有一个消费端可接收到;发布和订阅模式具体为:源端发布消息至消息中间件,当消费端
订阅该消息时,消息中间件将该消息发送至消费端;一对一的消息分片模式具体为:在点对
点的基础上将消息分片发送;一对多的消息广播模式:将消息发布至消息中间件上,然后主
动发送至多个消费端。
[0138] 上述技术方案的有益效果为:本发明实施例的消息模式包含有多种,路由模块2可根据用户需求选择对应的消息模式将消息路由至消费端,可满足用户更多的需求,提升用
户体验,且具有更大的应用场景。
[0139] 本发明实施例提供了一种基于多云环境的分布式消息管理方法,异常处理模块5当消息消费失败时,自动进行重试并配置重试规则以及进行消息备份。
[0140] 上述技术方案的工作原理为:
[0141] 异常处理模块5当消息消费失败时,自动进行重试并配置重试规则,还将该消息进行备份;例如:当消息从源端发送失败时,异常处理模块5配置消息集成SDK3自动完成消息
发送的重试,重试次数和重试时间间隔可供用户定义。
[0142] 上述技术方案的有益效果为:本发明实施例的异常处理模块5当消息消费失败时,可自动进行重试并配置重试规则,将消息进行备份,不仅可提升了系统自身运行的稳定性,
减轻人力成本,还可避免消息由于消费异常造成的丢失。
[0143] 本发明实施例提供了一种基于多云环境的分布式消息管理方法,还包括:
[0144] 对各消息中间件的运行能力进行监测;
[0145] 其中,对各消息中间件的运行能力进行监测,具体包括:
[0146] 获取预设历史运行数据库中的历史运行数据,历史运行数据包括:预设的统计周期内每个消息从其对应源端抵达对应消费端的路由时间、每个消息从其对应源端抵达消息
中间件的发送时间、每个消息从消息中间件抵达对应消费端的接收时间以及过程参数;过
程参数包括:每个消息对应的源端位置和消费端位置、路由过程中历经的消息中间件对应
的预设经验等级、进入该消息中间件所处的起始队列序号以及是否设置优先处理;
[0147] 基于源端位置和消费端位置采用确定每个消息对应路由过程的距离指标值;
[0148] 其中,基于源端位置和消费端位置确定每个消息在对应路由过程中的距离指标值,具体包括:
[0149] 根据预设确定规则确定源端位置和消费端位置之间的路由路线,统计路由路线上跨国次数和跨平台次数;
[0150] 基于跨国次数数量和跨平台次数数量计算每个消息对应路由过程中的距离指标值:
[0151]
[0152] 其中, 为消息在对应路由过程中的距离指标值, 为该消息对应路由路线上的跨国次数, 为该消息对应路由路线上的跨平台次数, 和 为预设的
权重值;
[0153] 根据预设制定规则基于历经该消息中间件的第 个消息的距离指标值 制定检索区间 ,其中, 为预设的差值阈值;
[0154] 遍历历经该消息中间件的全部消息对应的距离指标值,当距离指标值落在检索区间 内时,将对应参数列入待确定集合;
[0155] 计算每个消息中间件的能力指标值:
[0156]
[0157] 为消息中间件的能力指标值, 为历经消息中间件的第 个消息的路由时间, 为历经消息中间件的第 个消息的起始队列序号, 为消息中间件对应的预设平均
处理时间, 为消息中间件对应的预设经验等级, 为历经消息中间件的消息总数
目, 和 为预设的权重值, 为待确定集合中第 个消息对应的发送时间, 为待确
定集合中第 个消息对应的接收时间, 为待确定集合中消息的总数目;
[0158] 在预设时间段内每隔预设的时间间隔计算每个消息中间件的能力指标值后输出并按时间顺序组合成能力指标值集合;
[0159] 基于能力指标值集合计算消息中间件稳定评价指数;
[0160] 若稳定评价指数小于等于预设指数阈值将其列入能力欠佳消息中间件列表后输出。
[0161] 上述技术方案的工作原理为:
[0162] 预设历史运行数据库用于记录系统在运行中产生的运行数据;该运行数据包含有:预设统计周期(例如:60天)内每个消息从其对应源端抵达对应消费端的路由时间(即消
息从源端发送至消息中间件、消息在消息中间件中排队以及消息中间件将消息发送至消费
端的整个过程所花费的时间,当消息从源端发送时,预设计时器开始计时,抵达消费端后,
计时器停止计时),每个消息从其对应源端抵达消息中间件的发送时间(即消息从源端发送
至消息中间件所花的时间,同是采用计时器进行计时),每个消息从消息中间件抵达对应消
费端的接收时间(消息中间件将消息发送至消费端所花的时间,同是采用计时器进行计时)
以及过程参数;过程参数包含有:消息的源端位置、历经消息中间件(即路由过程中所经的
消息中间件)的预设经验等级(由人工设定,根据工作人员的监视经验等确定消息中间件的
运行能力等级)、起始队列序号(即消息进入消息中间件的队列号,若队列号为6,则第6个对
其进行处理)以及是否设置优先处理(即用户要求优先处理,消息中间件对该消息优先进行
处理);预设确定规则具体为:根据起始位置(源端位置)和终点位置(消费端位置)规划出距
离最近的路线(即路由路线);统计路由路线上跨国次数和跨平台次数(例如:该消息由美国
区某云直接路由至中国区华为云,则跨国1次,跨平台1次);确定好消息的距离指标值后,指
定检索区间,检索区间用于筛选出距离指标值相近的消息,此类消息历经该消息中间件的
过程大致相同,具有参考意义;消息中间件的平均处理时间具体为:根据大量实验统计消息
中间件分发一个消息所花费的平均时间;在预设时间段内(例如:7天)每隔预设的时间间隔
(例如:30秒)计算系统中每个消息中间件的能力指标值并按时间顺序降序排序后组合成能
力指标值集合;基于该能力指标值集合确定消息中间件的稳定评价指数,若当稳定评价指
数小于预设指数阈值时,将其列入能力欠佳消息中间件列表后输出,供工作人员查看。
[0163] 上述技术方案的有益效果为:一般的分布式消息系统均由人工监控,其产生的历史运行数据得不到充分利用,本发明实施例通过根据分布式消息系统在运行中产生的历史
运行数据对各消息中间件的运行能力进行监测,制成能力欠佳消息中间件列表输出后供工
作人员查看,省得工作人员自行确定,极大程度减轻了人力成本,工作人员可设置能力欠佳
的消息中间件暂时停止接收消息,减轻其负荷,使得消息从源端发送至能力相对优秀的消
息中间件进行处理,大大提升了系统的工作效率,同时,也更加智能化。
[0164] 本发明实施例提供了一种基于多云环境的分布式消息管理方法,基于能力指标值集合计算消息中间件稳定评价指数,具体包括:
[0165] 基于能力指标值集合根据预设绘制规则绘制目标曲线;
[0166] 获取预设的多个采样点;
[0167] 获取目标曲线上与采样点对应的目标值输出后组合成目标值集合;
[0168] 计算消息中间件稳定评价指数:
[0169]
[0170] 其中, 为稳定评价指数, 为目标值集合中采样点 对应的目标值, 为目标值集合中采样点 对应的目标值, 为采样点的初始值, 为
采样点的极值, 为预设采样值阈值数据库中第 个采样值阈值, 为采样值阈值数据
库中采样值阈值的总个数, 为取极大值函数。
[0171] 上述技术方案的工作原理为:
[0172] 预设绘制规则具体为:按时间顺序为横轴,数值大小为纵轴基于能力指标值集合绘制目标曲线;预设的多个采样点具体为:每隔一定的时间间隔(例如:0.1s)在横轴上选取
一个采样点,全部选取后输出;目标值具体为:采样点(横轴坐标)对应的纵轴坐标;采样值
阈值数据库中预先存储有多个采样值阈值(例如:0.01,0.03和0.05等);采样点的初始值
一般取1。
[0173] 上述技术方案的有益效果为:本发明实施例首先基于能力指标值绘制目标曲线,通过采样点对目标曲线进行采样输出目标值,根据目标值计算消息中间件的稳定评价指
数,系统预设采样值阈值数据库,该数据库中存储有多个采样值,保证对目标曲线的评价密
度,使得消息中间件的稳定评价指数更具有参考意义。
[0174] 显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围
之内,则本发明也意图包含这些改动和变型在内。