一种基于多云环境的分布式消息系统及管理方法转让专利
申请号 : CN202011423428.9
文献号 : CN112256461B
文献日 : 2021-03-12
发明人 : 吴小炎
申请人 : 万邑通商(北京)信息科技有限公司
摘要 :
权利要求 :
1.一种基于多云环境的分布式消息系统,其特征在于,包括:分布式消息模块,用于基于RabbitMQ的消息中间件在多个云平台上建立小集群,各小集群组成一个消息互通的大集群;
路由模块,用于基于预设的消息模式并采用预设的路由规则将消息从源端路由至消费端,所述消息在所述消息中间件中进行路由;
消息集成SDK,用于完成消息在路由过程中的发送和接收;
消息监控模块,用于对各所述小集群的集群状态、路由网络状态、消息堆积和消息消费者异常进行监控和预警;
异常处理模块,用于当所述消息监控模块发出预警时,进行相应处理;
稳定性评估模块,用于对各消息中间件的运行能力进行监测;
所述稳定性评估模块执行包括如下操作:获取预设历史运行数据库中的历史运行数据,所述历史运行数据包括:预设的统计周期内每个消息从其对应源端抵达对应消费端的路由时间、每个消息从其对应源端抵达消息中间件的发送时间、每个消息从消息中间件抵达对应消费端的接收时间以及过程参数;所述过程参数包括:每个消息对应的源端位置和消费端位置、路由过程中历经的消息中间件对应的预设经验等级、进入该消息中间件所处的起始队列序号以及是否设置优先处理;
基于源端位置和消费端位置采用确定每个消息对应路由过程的距离指标值;
其中,基于源端位置和消费端位置确定每个消息在对应路由过程中的距离指标值,具体包括:
根据预设确定规则确定源端位置和消费端位置之间的路由路线,统计所述路由路线上跨国次数和跨平台次数;
基于跨国次数数量和跨平台次数数量计算每个消息对应路由过程中的距离指标值:其中, 为消息在对应路由过程中的距离指标值, 为该消息对应路由路线上的跨国次数, 为该消息对应路由路线上的跨平台次数, 和 为预设的权重值;
根据预设制定规则基于历经该消息中间件的第 个消息的距离指标值 制定检索区间,其中, 为预设的差值阈值;
遍历历经该消息中间件的全部消息对应的距离指标值,当距离指标值落在检索区间内时,将对应参数列入待确定集合;
计算每个消息中间件的能力指标值:为消息中间件的能力指标值, 为历经消息中间件的第 个消息的路由时间,为历经消息中间件的第 个消息的起始队列序号, 为消息中间件对应的预设平均处理时间, 为消息中间件对应的预设经验等级, 为历经消息中间件的消息总数目, 和为预设的权重值, 为待确定集合中第 个消息对应的发送时间, 为待确定集合中第 个消息对应的接收时间, 为待确定集合中消息的总数目;
在预设时间段内每隔预设的时间间隔计算每个消息中间件的能力指标值后输出并按时间顺序组合成能力指标值集合;
基于所述能力指标值集合计算消息中间件稳定评价指数;
若所述稳定评价指数小于等于预设指数阈值将其列入能力欠佳消息中间件列表后输出。
2.如权利要求1所述的一种基于多云环境的分布式消息系统,其特征在于,所述消息模式包括:点对点的分布式消息路由模式、发布和订阅模式、一对一的消息分片模式和一对多的消息广播模式中一种或多种结合。
3.如权利要求1所述的一种基于多云环境的分布式消息系统,其特征在于,所述异常处理模块当消息消费失败时,自动进行重试并配置重试规则以及进行消息备份。
4.如权利要求1所述的一种基于多云环境的分布式消息系统,其特征在于,稳定性评估模块基于所述能力指标值集合计算消息中间件稳定评价指数,具体包括:基于所述能力指标值集合根据预设绘制规则绘制目标曲线;
获取预设的多个采样点;
获取所述目标曲线上与所述采样点对应的目标值输出后组合成目标值集合;
计算消息中间件稳定评价指数:
其中, 为稳定评价指数, 为目标值集合中采样点 对应的目标值,为目标值集合中采样点 对应的目标值, 为采样点的初始值, 为采样点的极值, 为预设采样值阈值数据库中第 个采样值阈值, 为采样值阈值数据库中采样值阈值的总个数, 为取极大值函数。
5.一种基于多云环境的分布式消息管理方法,其特征在于,包括:通过分布式消息模块基于RabbitMQ的消息中间件在多个云平台上建立小集群,各小集群组成一个消息互通的大集群;
通过路由模块基于预设的消息模式并采用预设的路由规则将消息从源端路由至消费端,所述消息在所述消息中间件中进行路由;
通过消息集成SDK完成消息在路由过程中的发送和接收;
通过消息监控模块对各所述小集群的集群状态、路由网络状态、消息堆积和消息消费者异常进行监控和预警;
通过异常处理模块当所述消息监控模块发出预警时,进行相应处理;
对各消息中间件的运行能力进行监测;
其中,对各消息中间件的运行能力进行监测,具体包括:获取预设历史运行数据库中的历史运行数据,所述历史运行数据包括:预设的统计周期内每个消息从其对应源端抵达对应消费端的路由时间、每个消息从其对应源端抵达消息中间件的发送时间、每个消息从消息中间件抵达对应消费端的接收时间以及过程参数;所述过程参数包括:每个消息对应的源端位置和消费端位置、路由过程中历经的消息中间件对应的预设经验等级、进入该消息中间件所处的起始队列序号以及是否设置优先处理;
基于源端位置和消费端位置采用确定每个消息对应路由过程的距离指标值;
其中,基于源端位置和消费端位置确定每个消息在对应路由过程中的距离指标值,具体包括:
根据预设确定规则确定源端位置和消费端位置之间的路由路线,统计所述路由路线上跨国次数和跨平台次数;
基于跨国次数数量和跨平台次数数量计算每个消息对应路由过程中的距离指标值:其中, 为消息在对应路由过程中的距离指标值, 为该消息对应路由路线上的跨国次数, 为该消息对应路由路线上的跨平台次数, 和 为预设的权重值;
根据预设制定规则基于历经该消息中间件的第 个消息的距离指标值 制定检索区间 ,其中, 为预设的差值阈值;
遍历历经该消息中间件的全部消息对应的距离指标值,当距离指标值落在检索区间内时,将对应参数列入待确定集合;
计算每个消息中间件的能力指标值:为消息中间件的能力指标值, 为历经消息中间件的第 个消息的路由时间,为历经消息中间件的第 个消息的起始队列序号, 为消息中间件对应的预设平均处理时间, 为消息中间件对应的预设经验等级, 为历经消息中间件的消息总数目,和 为预设的权重值, 为待确定集合中第 个消息对应的发送时间, 为待确定集合中第 个消息对应的接收时间, 为待确定集合中消息的总数目;
在预设时间段内每隔预设的时间间隔计算每个消息中间件的能力指标值后输出并按时间顺序组合成能力指标值集合;
基于所述能力指标值集合计算消息中间件稳定评价指数;
若所述稳定评价指数小于等于预设指数阈值将其列入能力欠佳消息中间件列表后输出。
6.如权利要求5所述的一种基于多云环境的分布式消息管理方法,其特征在于,所述消息模式包括:点对点的分布式消息路由模式、发布和订阅模式、一对一的消息分片模式和一对多的消息广播模式中一种或多种结合。
7.如权利要求5所述的一种基于多云环境的分布式消息管理方法,其特征在于,所述异常处理模块当消息消费失败时,自动进行重试并配置重试规则以及进行消息备份。
8.如权利要求5所述的一种基于多云环境的分布式消息管理方法,其特征在于,基于所述能力指标值集合计算消息中间件稳定评价指数,具体包括:基于所述能力指标值集合根据预设绘制规则绘制目标曲线;
获取预设的多个采样点;
获取所述目标曲线上与所述采样点对应的目标值输出后组合成目标值集合;
计算消息中间件稳定评价指数:
其中, 为稳定评价指数, 为目标值集合中采样点 对应的目标值,为目标值集合中采样点 对应的目标值, 为采样点的初始值, 为采样点的极值, 为预设采样值阈值数据库中第 个采样值阈值, 为采样值阈值数据库中采样值阈值的总个数, 为取极大值函数。
说明书 :
一种基于多云环境的分布式消息系统及管理方法
技术领域
背景技术
优点,企业云环境正向异构多云集成化方向发展。
满足系统的快速集成和对业务快速反应的需求;
发明内容
化大集群,保证了多云平台、跨国际互联网环境下分布式系统集成的解耦,在跨国际互联网
网络延迟较高的情况下可满足系统的快速集成和对业务快速反应的需求,同时,对系统进
行监控和预警,还可自动进行异常处理,提升了系统运行的稳定性,减轻了人力成本。
中间件的发送时间、每个消息从消息中间件抵达对应消费端的接收时间以及过程参数;过
程参数包括:每个消息对应的源端位置和消费端位置、路由过程中历经的消息中间件对应
的预设经验等级、进入该消息中间件所处的起始队列序号以及是否设置优先处理;
重值;
处理时间, 为消息中间件对应的预设经验等级,为历经消息中间件的消息总数目,
和 为预设的权重值, 为待确定集合中第 个消息对应的发送时间, 为待确定
集合中第 个消息对应的接收时间, 为待确定集合中消息的总数目;
采样点的极值, 为预设采样值阈值数据库中第 个采样值阈值, 为采样值阈值数据库
中采样值阈值的总个数, 为取极大值函数。
中间件的发送时间、每个消息从消息中间件抵达对应消费端的接收时间以及过程参数;过
程参数包括:每个消息对应的源端位置和消费端位置、路由过程中历经的消息中间件对应
的预设经验等级、进入该消息中间件所处的起始队列序号以及是否设置优先处理;
重值;
均处理时间, 为消息中间件对应的预设经验等级, 为历经消息中间件的消息总数
目, 和 为预设的权重值, 为待确定集合中第 个消息对应的发送时间, 为待
确定集合中第 个消息对应的接收时间, 为待确定集合中消息的总数目;
样点的极值, 为预设采样值阈值数据库中第 个采样值阈值, 为采样值阈值数据库
中采样值阈值的总个数, 为取极大值函数。
书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
具体实施方式
互联网的全球化大集群;路由模块2负责将消息从源端路由至消费端;例如:当消费端订阅
某消息时,路由模块2将该消息从其对应源端路由至该消费端;消息在消息中间件中路由,
由消息中间件负责分发;消息集成SDK3用于支持消息在路由过程中的发送和接收;消息监
控模块4对小集群的集群状态、路由网络状态、消息堆积和消费者异常等进行监控和预警;
集群状态具体为集群上的动态负载状态等;路由网络状态具体为:路由网络是否通畅(即是
否发生故障);消息堆积具体为:大量消息堆积在同一消息中间件中;消息消费者异常具体
为:无法获取某消费者对应消费端的节点地址等;异常处理模块5用于当消息监控模块4发
出预警时,进行相应处理;例如:当消息消费失败时,自动进行重试并自动配制重试规则,同
时,将该消息进行备份;又例如:当消息堆积在消息中间件时,系统每隔72小时清理消息中
间件队列中长时间没有被订阅的消息;预设路由规则具体为:例如,某消息需要从X源端路
由至X目的端,查找预设规则数据库中与X源端和X目的端匹配的匹配规则,根据该匹配规则
可确定该消息的源地址、路由方向、消息路由动作和目的地址。
互联网环境下分布式系统集成的解耦,在跨国际互联网网络延迟较高的情况下可满足系统
的快速集成和对业务快速反应的需求,同时,对系统进行监控和预警,还可自动进行异常处
理,提升了系统运行的稳定性,减轻了人力成本。
模式中一种或多种结合。
只有一个消费端可接收到;发布和订阅模式具体为:源端发布消息至消息中间件,当消费端
订阅该消息时,消息中间件将该消息发送至消费端;一对一的消息分片模式具体为:在点对
点的基础上将消息分片发送;一对多的消息广播模式:将消息发布至消息中间件上,然后主
动发送至多个消费端。
户体验,且具有更大的应用场景。
发送的重试,重试次数和重试时间间隔可供用户定义。
减轻人力成本,还可避免消息由于消费异常造成的丢失。
中间件的发送时间、每个消息从消息中间件抵达对应消费端的接收时间以及过程参数;过
程参数包括:每个消息对应的源端位置和消费端位置、路由过程中历经的消息中间件对应
的预设经验等级、进入该消息中间件所处的起始队列序号以及是否设置优先处理;
重值;
处理时间, 为消息中间件对应的预设经验等级, 为历经消息中间件的消息总数
目, 和 为预设的权重值, 为待确定集合中第 个消息对应的发送时间, 为待
确定集合中第 个消息对应的接收时间, 为待确定集合中消息的总数目;
息从源端发送至消息中间件、消息在消息中间件中排队以及消息中间件将消息发送至消费
端的整个过程所花费的时间,当消息从源端发送时,预设计时器开始计时,抵达消费端后,
计时器停止计时),每个消息从其对应源端抵达消息中间件的发送时间(即消息从源端发送
至消息中间件所花的时间,同是采用计时器进行计时),每个消息从消息中间件抵达对应消
费端的接收时间(消息中间件将消息发送至消费端所花的时间,同是采用计时器进行计时)
以及过程参数;过程参数包含有:消息的源端位置、历经消息中间件(即路由过程中所经的
消息中间件)的预设经验等级(由人工设定,根据工作人员的监视经验等确定消息中间件的
运行能力等级)、起始队列序号(即消息进入消息中间件的队列号,若队列号为6,则第6个对
其进行处理)以及是否设置优先处理(即用户要求优先处理,消息中间件对该消息优先进行
处理);预设确定规则具体为:根据起始位置(源端位置)和终点位置(消费端位置)规划出距
离最近的路线(即路由路线);统计路由路线上跨国次数和跨平台次数(例如:该消息由美国
区某云直接路由至中国区华为云,则跨国1次,跨平台1次);确定好消息的距离指标值后,指
定检索区间,检索区间用于筛选出距离指标值相近的消息,此类消息历经该消息中间件的
过程大致相同,具有参考意义;消息中间件的平均处理时间具体为:根据大量实验统计消息
中间件分发一个消息所花费的平均时间;在预设时间段内(例如:7天)每隔预设的时间间隔
(例如:30秒)计算系统中每个消息中间件的能力指标值并按时间顺序降序排序后组合成能
力指标值集合;基于该能力指标值集合确定消息中间件的稳定评价指数,若当稳定评价指
数小于预设指数阈值时,将其列入能力欠佳消息中间件列表后输出,供工作人员查看。
运行数据对各消息中间件的运行能力进行监测,制成能力欠佳消息中间件列表输出后供工
作人员查看,省得工作人员自行确定,极大程度减轻了人力成本,工作人员可设置能力欠佳
的消息中间件暂时停止接收消息,减轻其负荷,使得消息从源端发送至能力相对优秀的消
息中间件进行处理,大大提升了系统的工作效率,同时,也更加智能化。
采样点的极值, 为预设采样值阈值数据库中第 个采样值阈值, 为采样值阈值数据库
中采样值阈值的总个数, 为取极大值函数。
一个采样点,全部选取后输出;目标值具体为:采样点(横轴坐标)对应的纵轴坐标;采样值
阈值数据库中预先存储有多个采样值阈值(例如:0.01,0.03和0.05等);采样点的初始值
一般取1。
数,系统预设采样值阈值数据库,该数据库中存储有多个采样值,保证对目标曲线的评价密
度,使得消息中间件的稳定评价指数更具有参考意义。
互联网的全球化大集群;路由模块2负责将消息从源端路由至消费端;例如:当消费端订阅
某消息时,路由模块2将该消息从其对应源端路由至该消费端;消息在消息中间件中路由,
由消息中间件负责分发;消息集成SDK3用于支持消息在路由过程中的发送和接收;消息监
控模块4对小集群的集群状态、路由网络状态、消息堆积和消费者异常等进行监控和预警;
集群状态具体为集群上的动态负载状态等;路由网络状态具体为:路由网络是否通畅(即是
否发生故障);消息堆积具体为:大量消息堆积在同一消息中间件中;消息消费者异常具体
为:无法获取某消费者对应消费端的节点地址等;异常处理模块5用于当消息监控模块4发
出预警时,进行相应处理;例如:当消息消费失败时,自动进行重试并自动配制重试规则,同
时,将该消息进行备份;又例如:当消息堆积在消息中间件时,系统每隔72小时清理消息中
间件队列中长时间没有被订阅的消息;预设路由规则具体为:例如,某消息需要从X源端路
由至X目的端,查找预设规则数据库中与X源端和X目的端匹配的匹配规则,根据该匹配规则
可确定该消息的源地址、路由方向、消息路由动作和目的地址。
互联网环境下分布式系统集成的解耦,在跨国际互联网网络延迟较高的情况下可满足系统
的快速集成和对业务快速反应的需求,同时,对系统进行监控和预警,还可自动进行异常处
理,提升了系统运行的稳定性,减轻了人力成本。
广播模式中一种或多种结合。
只有一个消费端可接收到;发布和订阅模式具体为:源端发布消息至消息中间件,当消费端
订阅该消息时,消息中间件将该消息发送至消费端;一对一的消息分片模式具体为:在点对
点的基础上将消息分片发送;一对多的消息广播模式:将消息发布至消息中间件上,然后主
动发送至多个消费端。
户体验,且具有更大的应用场景。
发送的重试,重试次数和重试时间间隔可供用户定义。
减轻人力成本,还可避免消息由于消费异常造成的丢失。
中间件的发送时间、每个消息从消息中间件抵达对应消费端的接收时间以及过程参数;过
程参数包括:每个消息对应的源端位置和消费端位置、路由过程中历经的消息中间件对应
的预设经验等级、进入该消息中间件所处的起始队列序号以及是否设置优先处理;
权重值;
处理时间, 为消息中间件对应的预设经验等级, 为历经消息中间件的消息总数
目, 和 为预设的权重值, 为待确定集合中第 个消息对应的发送时间, 为待确
定集合中第 个消息对应的接收时间, 为待确定集合中消息的总数目;
息从源端发送至消息中间件、消息在消息中间件中排队以及消息中间件将消息发送至消费
端的整个过程所花费的时间,当消息从源端发送时,预设计时器开始计时,抵达消费端后,
计时器停止计时),每个消息从其对应源端抵达消息中间件的发送时间(即消息从源端发送
至消息中间件所花的时间,同是采用计时器进行计时),每个消息从消息中间件抵达对应消
费端的接收时间(消息中间件将消息发送至消费端所花的时间,同是采用计时器进行计时)
以及过程参数;过程参数包含有:消息的源端位置、历经消息中间件(即路由过程中所经的
消息中间件)的预设经验等级(由人工设定,根据工作人员的监视经验等确定消息中间件的
运行能力等级)、起始队列序号(即消息进入消息中间件的队列号,若队列号为6,则第6个对
其进行处理)以及是否设置优先处理(即用户要求优先处理,消息中间件对该消息优先进行
处理);预设确定规则具体为:根据起始位置(源端位置)和终点位置(消费端位置)规划出距
离最近的路线(即路由路线);统计路由路线上跨国次数和跨平台次数(例如:该消息由美国
区某云直接路由至中国区华为云,则跨国1次,跨平台1次);确定好消息的距离指标值后,指
定检索区间,检索区间用于筛选出距离指标值相近的消息,此类消息历经该消息中间件的
过程大致相同,具有参考意义;消息中间件的平均处理时间具体为:根据大量实验统计消息
中间件分发一个消息所花费的平均时间;在预设时间段内(例如:7天)每隔预设的时间间隔
(例如:30秒)计算系统中每个消息中间件的能力指标值并按时间顺序降序排序后组合成能
力指标值集合;基于该能力指标值集合确定消息中间件的稳定评价指数,若当稳定评价指
数小于预设指数阈值时,将其列入能力欠佳消息中间件列表后输出,供工作人员查看。
运行数据对各消息中间件的运行能力进行监测,制成能力欠佳消息中间件列表输出后供工
作人员查看,省得工作人员自行确定,极大程度减轻了人力成本,工作人员可设置能力欠佳
的消息中间件暂时停止接收消息,减轻其负荷,使得消息从源端发送至能力相对优秀的消
息中间件进行处理,大大提升了系统的工作效率,同时,也更加智能化。
采样点的极值, 为预设采样值阈值数据库中第 个采样值阈值, 为采样值阈值数据
库中采样值阈值的总个数, 为取极大值函数。
一个采样点,全部选取后输出;目标值具体为:采样点(横轴坐标)对应的纵轴坐标;采样值
阈值数据库中预先存储有多个采样值阈值(例如:0.01,0.03和0.05等);采样点的初始值
一般取1。
数,系统预设采样值阈值数据库,该数据库中存储有多个采样值,保证对目标曲线的评价密
度,使得消息中间件的稳定评价指数更具有参考意义。
之内,则本发明也意图包含这些改动和变型在内。