一种基于分布式消息队列的数据总线实现方法和装置与流程

文档序号:12377537阅读:528来源:国知局
一种基于分布式消息队列的数据总线实现方法和装置与流程

本发明涉及消息队列技术领域,尤其是一种基于分布式消息队列的数据总线实现方法和装置。



背景技术:

消息队列是在消息的传输过程中保存消息的容器。队列的主要目的是提供路由并保证消息的传递,如果发送消息时接收者不可用,消息队列会保留消息,直到可以成功的传递它。

其应用领域十分广泛,可以作为日志收集中心,通过将消息内容发送到消息队列,从而实现各个系统间的消息解耦;可以提供分布式事务支持,保证全局数据的一致性;可以作为消息中间件,将数据从源头复制到各个目的地,满足搜索、离线分析等需求。

现有的消息队列对消息生产端以及消费端缺少统一的维护管理,此外,经过消息队列的消息在消费完成后,会定时清理,没有持久化的过程,缺少有效的备份机制。



技术实现要素:

本发明所要解决的技术问题在于,提供一种基于分布式消息队列的数据总线实现方法和装置,可以对数据资源和消费中心通过统一的资源管理中心统一维护,通过备份机制进行持久化。

为解决上述技术问题,本发明提供一种基于分布式消息队列的数据总线实现方法,包括如下步骤:

(1)数据资源和消费中心申请设备注册和消息发布权限;

(2)数据资源向消息队列发布消息,消费中心从消息队列订阅消息;

(3)大数据中心备份经过消息队列的相关消息。

优选的,步骤(1)的具体过程为:数据资源向消息队列发送消息之前,向资源管理中心发起申请设备注册流程,资源管理中心根据设备及认证状态进行审批,审批通过后,数据资源注册成功,再次向资源管理中心发起消息发布权限申请流程,资源管理中心进行权限认证,返回数据资源能够发送给消息队列的目标主题,申请成功后,数据资源向消息队列中指定主题发送消息;消费中心从消息队列获取消息之前,向资源管理中心发起申请设备注册流程,资源管理中心根据设备及认证状态进行审批,审批通过后,再次向资源管理中心发起消息订阅权限申请流程,资源管理中心返回消费中心能够从消息队列中获取的消息主题列表。

优选的,步骤(2)的具体过程为:数据资源调用权限查询API,查询该资源所属消息主题,资源管理中心返回资源所属主题信息;数据资源组装消息并调用消息发送API至消息队列,消费中心调用权限查询API,查询该资源所能获取的主题列表,资源管理中心返回指挥中心需要的主题信息,指挥中心调用消息接收API从消息队列获取相应主题消息。

优选的,步骤(3)的具体过程为:消息发送至消息队列后,备份中心定时扫描消息队列中的内容,将相关消息备份至大数据中心。

相应的,一种基于分布式消息队列的数据总线实现装置,包括数据资源模块、消费模块、消息队列模块、资源管理模块和备份模块;数据资源模块用于消息的发布,发送至消息队列;消费模块用于消息的消费处理,从消息队列中消费订阅主题内容;消息队列模块用于消息的临时缓冲,缓存数据资源模块发出的消息;资源管理模块用于对各个模块的统一管理;备份模块用于对经过消息队列模块的消息进行备份。

优选的,数据资源模块通过预先在资源管理模块申请的资源ID和生产ID,向消息队列模块指定的Topic发送消息,每条消息都会定制唯一的消息标识作为消息主键。

优选的,消费模块预先在资源管理模块申请订阅主题,消息队列模块中有消息发布时,资源管理模块根据消费模块订阅的Topic,去消息队列模块拉取相关信息,资源管理模块订阅多个Topic,接收多个资源管理模块的消息。

优选的,消息队列模块将消息以Topic为单位进行归纳,每个Topic由若干分区构成,每个分区由一系列有序的、不可变的消息组成,每个消息都有一个连续的序列号offset,每个分区在若干服务中都有副本,持有副本的服务共同处理数据和请求,副本数量可配置。

优选的,所有的数据资源模块和消费模块都要在资源管理模块进行注册和权限申请。

优选的,备份模块定时扫描消息队列模块中的内容,将相关信息备份至大数据中心。

本发明的有益效果为:数据资源和消费中心都通过统一的资源管理中心统一维护,审批未通过的设备将无法生产或消费任何信息;消息内容通过备份机制进行持久化,消息生产和消费的可靠性和安全性得到保证。

附图说明

图1是本发明的方法流程示意图。

图2是本发明的装置结构示意图。

具体实施方式

如图1所示,一种基于分布式消息队列的数据总线实现方法,包括如下步骤:(1)数据资源和消费中心申请设备注册和消息发布权限;

数据资源向消息队列发送消息之前,向资源管理中心发起申请设备注册流程,资源管理中心根据设备及认证状态进行审批,审批通过后,数据资源注册成功,再次向资源管理中心发起消息发布权限申请流程,资源管理中心进行权限认证,返回数据资源能够发送给消息队列的目标主题,申请成功后,数据资源向消息队列中指定主题发送消息;消费中心从消息队列获取消息之前,向资源管理中心发起申请设备注册流程,资源管理中心根据设备及认证状态进行审批,审批通过后,再次向资源管理中心发起消息订阅权限申请流程,资源管理中心返回消费中心能够从消息队列中获取的消息主题列表。

(2)数据资源向消息队列发布消息,消费中心从消息队列订阅消息;

数据资源调用权限查询API,查询该资源所属消息主题,资源管理中心返回资源所属主题信息;数据资源组装消息并调用消息发送API至消息队列,消费中心调用权限查询API,查询该资源所能获取的主题列表,资源管理中心返回指挥中心需要的主题信息,指挥中心调用消息接收API从消息队列获取相应主题消息。

(3)大数据中心备份经过消息队列的相关消息;

消息发送至消息队列后,备份中心定时扫描消息队列中的内容,将相关消息备份至大数据中心。

如图2所示,为一种基于分布式消息队列的数据总线实现装置,包括数据资源模块、消费模块、消息队列模块、资源管理模块和备份模块;数据资源模块用于消息的发布,发送至消息队列;消费模块用于消息的消费处理,从消息队列中消费订阅主题内容;消息队列模块用于消息的临时缓冲,缓存数据资源模块发出的消息;资源管理模块用于对各个模块的统一管理;备份模块用于对经过消息队列模块的消息进行备份。

数据资源模块通过预先在资源管理模块申请的资源ID和生产ID,向消息队列模块指定的Topic发送消息,每条消息都会定制唯一的消息标识作为消息主键。

消费模块预先在资源管理模块申请订阅主题,消息队列模块中有消息发布时,资源管理模块根据消费模块订阅的Topic,去消息队列模块拉取相关信息,资源管理模块订阅多个Topic,接收多个资源管理模块的消息。

消息队列模块将消息以Topic为单位进行归纳,每个Topic由若干分区构成,每个分区由一系列有序的、不可变的消息组成,每个消息都有一个连续的序列号offset,每个分区在若干服务中都有副本,持有副本的服务共同处理数据和请求,副本数量可配置。

所有的数据资源模块和消费模块都要在资源管理模块进行注册和权限申请。

备份模块定时扫描消息队列模块中的内容,将相关信息备份至大数据中心。

尽管本发明就优选实施方式进行了示意和描述,但本领域的技术人员应当理解,只要不超出本发明的权利要求所限定的范围,可以对本发明进行各种变化和修改。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1