一种自定义监听数据库变化产生自定义消息结构的方法及控制装置制造方法及图纸

技术编号:25479390 阅读:26 留言:0更新日期:2020-09-01 23:00
针对现有技术的不足,本公开涉及一种自定义监听数据库变化产生自定义消息结构的方法及装置,监听Mysql数据库库表变化发布不同消息结构的变更消息通知。为实现以上目的,本公开通过以下技术方案予以实现:一种自定义监听数据库变化产生自定义消息结构的方法,包括以下步骤:步骤1:配置阶段;步骤2:从Mysql订阅binlog日志数据,解析binlog从而得到数据库的库名、表名及变更内容;步骤3:根据库表的过滤规则配置,过滤匹配操作类型,字段,以及字段条件值;步骤4:结构转换得到全新的数据结构;步骤5:数据发布到消息队列主题。本公开通过这样的技术方案,配置灵活快速,配置过程动态,即配即用,及时生效,不需要重新编译重新启动。

【技术实现步骤摘要】
一种自定义监听数据库变化产生自定义消息结构的方法及控制装置
本专利技术涉及数据库
,尤其是涉及一种自定义监听数据库变化产生自定义消息结构的方法及控制装置。
技术介绍
数据库内的数据在应用过程中不断发生变化,技术人员为了实现某些需求需要不断对数据库内数据变动进行监听。以Mysql数据库为例,Mysql数据库为例的库表变化和数据变动监听通常采用解析Mysql的binlog(数据库日志)得到变更消息,根据业务应用编写软件代码过滤不同的库表和数据变化,解析成为不同的消息结构以满足不同的应用做为数据驱动源。但是现有技术中,即便对应同一个数据库,每次根据不同的业务,监听Mysql数据库变化均需要编写不同的软件代码做过滤和解析组合得不同的消息结构,以适应新功能。如专利申请号为CN201910595309.2的专利技术专利《基于监听MySQL数据库binlog变化实现数据同步的方法和系统》中就公开了一种基于监听MySQL数据库binlog变化实现数据同步的方法和系统。方法流程包括:将MySQL的binlog传输到公共存储介质;监听binlog发生变化时,发现文件变化事件;根据文件变化事件,从MySQL中获取对应的数据变化内容,解析该数据变化内容为目标数据结构;将解析后的数据加载到目标存储介质中以完成数据同步。系统包括:公共存储介质、监听模块、数据获取模块和数据加载模块;公共存储介质存储MySQL的binlog;监听模块在binlog发生变化时,发布文件变化事件;数据获取模块从MySQL中获取对应的数据变化内容,将其解析为目标数据结构后;通过数据加载模块加载到目标存储介质中存储。本专利技术无需开发MySQL交互协议,通过简单方法即可实现数据的同步,实现成本低。但是该方案中只能进行数据同步,如果需要进一步操作还需要额外的数据加载模块,例如协议配置单元和数据传输单元。这些单元都要根据实际情况单独设计,当业务变化频繁时,难以满足快速高效的需求。
技术实现思路
为了解决上述技术问题中的至少一个,本公开涉及一种自定义监听数据库变化产生自定义消息结构的方法及装置,监听Mysql数据库库表变化发布不同消息结构的变更消息通知,不需要额外开发软件,快速实现数据驱动源,以便实现各类数据触发操作业务。为实现以上目的,本公开通过以下技术方案予以实现:一种自定义监听数据库变化产生自定义消息结构的方法,包括以下步骤:步骤1:配置阶段,包括过滤规则配置、输出结构模板配置、路由配置以及发布消息主题配置;步骤2:从Mysql订阅binlog日志数据,解析binlog从而得到数据库的库名、表名及变更内容;步骤3:根据库表的过滤规则配置,过滤匹配操作类型,字段,以及字段条件值;步骤4:将步骤3中过滤得到的数据配置到预设的输出结构模板中进行结构转换得到全新的数据结构;步骤5:根据路由配置,可将步骤4中获取的数据结构的数据发布到消息队列的不同主题去。优选的,步骤2中解析得到配置信息相关内容时将更新步骤1中的配置信息并根据新的配置信息进行重新配置。如果没有获取新的配置信息,则采用默认的配置进行后续操作。优选的,所述更新配置过程动态编辑完毕后即时生效。不需要重新编译重新启动。这样提高了效率减少了等待的时间。优选的,所述过滤规则配置具体方法为:配置白名单和黑名单,两者均包含:数据库、数据表、操作类型、字段名、字段条件及条件值;从binlog得到数据库变更时包含以上信息,根据白名单配置进行匹配,排除黑名单中的配置,从而得到一个过滤后的数据记录。优选的,所述匹配内容包括匹配库、表、操作类型、字段条件。排除无效信息,仅对指定匹配内容进行处理,有效提高了处理的效率。优选的,每次黑名单和白名单配置完毕后进行校验,当发现黑名单和白名单内存在重复内容时进行标识警告,处理完警告信息后方能完成白名单和黑名单的配置。这样可以避免本公开在实施时出现逻辑上的错误。优选的,步骤4中进行结构转化完成后加入时间标签。这样在后期检查或者追溯时,有迹可循,可以根据时间线有条理的进行分析和检查。优选的,至少包括存储器,所述存储器中存有监听配置模块、binlong解析模块以及数据过滤、解析、路由模块,所述存储器连接在数据库服务器上,并通过消息队列组件进行输出。优选的,所述监听配置模块中执行过滤配置、输出结构模板配置以及发布消息主题配置。优选的,故障解析模块自动存储多次发生的故障信息。当发现发布消息主题配置和预期不符时,通过故障解析模块进行校验,从而找到问题所在对最初的配置进行调整。对于经常出现的故障将进行记载并梯形维护人员及早处理。本公开通过这样的技术方案,带来了以下有益效果:1.快速配置,无代码开发即可实现数据库数据监听,作为消息触发源。而且一次配置完成后可以快速复制到其他数据库。2.灵活配置,根据实际业务应用过滤数据,组装任意数据结构,发布到任意消息主题。3.配置过程动态,即配即用,及时生效,不需要重新编译重新启动。4.配置准确,通过黑名单和白名单的相互校验以及故障解析模块的设置,减少了配置过程中出现错误需要人工参与的频率。本公开还通过控制装置确保配置、监听等工作能够顺利完成。附图说明附图示出了本公开的示例性实施方式,并与其说明一起用于解释本公开的原理,其中包括了这些附图以提供对本公开的进一步理解,并且附图包括在本说明书中并构成本说明书的一部分。图1是本公开的流程图。图2是本公开涉及的控制装置示意图。图3是本公开配置并发布的一个具体实施例示意图。具体实施方式下面结合附图和实施方式对本公开作进一步的详细说明。可以理解的是,此处所描述的具体实施方式仅用于解释相关内容,而非对本公开的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本公开相关的部分。需要说明的是,在不冲突的情况下,本公开中的实施方式及实施方式中的特征可以相互组合。下面将参考附图并结合实施方式来详细说明本公开。为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。如图1所示,本公开包括一种自定义监听数据库变化产生自定义消息结构的方法,包括以下步骤:步骤1:配置阶段,包括过滤规则配置、输出结构模板配置、路由配置以及发布消息主题配置;步骤2:从Mysql订阅binlog日志数据,解析binlog从而得到数据库的库名、表名及变更内容;解析得到配置信息相关内容时将更新步骤1中的配置信息并根据新的配置信息进行重新配置。所述更新配置过程动态编辑完毕后即时生效。步骤3:根据库表的过滤规则配置,过滤匹配操作类型,字段,以及字本文档来自技高网
...

【技术保护点】
1.一种自定义监听数据库变化产生自定义消息结构的方法,其特征在于:包括以下步骤:/n步骤1:配置阶段,包括过滤规则配置、输出结构模板配置、路由配置以及发布消息主题配置;/n步骤2:从Mysql订阅binlog日志数据,解析binlog从而得到数据库的库名、表名及变更内容;/n步骤3:根据库表的过滤规则配置,过滤匹配操作类型,字段,以及字段条件值;/n步骤4:将步骤3中过滤得到的数据配置到预设的输出结构模板中进行结构转换得到全新的数据结构;/n步骤5:根据路由配置,可将步骤4中获取的数据结构的数据发布到消息队列的不同主题去。/n

【技术特征摘要】
1.一种自定义监听数据库变化产生自定义消息结构的方法,其特征在于:包括以下步骤:
步骤1:配置阶段,包括过滤规则配置、输出结构模板配置、路由配置以及发布消息主题配置;
步骤2:从Mysql订阅binlog日志数据,解析binlog从而得到数据库的库名、表名及变更内容;
步骤3:根据库表的过滤规则配置,过滤匹配操作类型,字段,以及字段条件值;
步骤4:将步骤3中过滤得到的数据配置到预设的输出结构模板中进行结构转换得到全新的数据结构;
步骤5:根据路由配置,可将步骤4中获取的数据结构的数据发布到消息队列的不同主题去。


2.如权利要求1所述的一种自定义监听数据库变化产生自定义消息结构的方法,其特征在于:步骤2中解析得到配置信息相关内容时将更新步骤1中的配置信息并根据新的配置信息进行重新配置。


3.如权利要求2所述的一种自定义监听数据库变化产生自定义消息结构的方法,其特征在于:所述更新配置过程动态编辑完毕后即时生效。


4.如权利要求1所述的一种自定义监听数据库变化产生自定义消息结构的方法,其特征在于:所述过滤规则配置具体方法为:配置白名单和黑名单,两者均包含:数据库、数据表、操作类型、字段名、字段条件及条件值;从binlog得到数据库变更时包含以上信息,根据白名单...

【专利技术属性】
技术研发人员:温凌敏林晓华
申请(专利权)人:浩云科技股份有限公司
类型:发明
国别省市:广东;44

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

1