System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种适配多种异构数据库的数据变更内容采集方法技术_技高网

一种适配多种异构数据库的数据变更内容采集方法技术

技术编号:44447263 阅读:1 留言:0更新日期:2025-02-28 18:53
本发明专利技术涉及数据处理技术领域,尤其是一种适配多种异构数据库的数据变更内容采集方法,包括下述步骤:在变更监听平台配置业务服务的监听信息,对所述业务服务注入组件,以向所述监听平台请求拉取所述监听信息的配置,且对异步采集任务进行初始化;所述组件通过JAR包文件的插件,监听数据库变更,所述数据库的日志数据存在变更时,所述插件通过消息中间件Rabbit MQ上报所述日志数据;所述变更监听平台通过拉模式进行消息的消费,以在对应的ElasticSearch及对应的Hadoop HDFS索引中进行写入变更数据;对数据进行冷热转换。本发明专利技术能够进行数据的无缝采集和传输,同时保证了变更采集的实时性、可靠性、幂等性,而且节省数据存储的运维成本。

【技术实现步骤摘要】

本专利技术涉及数据处理,尤其是一种适配多种异构数据库的数据变更内容采集方法


技术介绍

1、随着信息化技术的不断发展,水利行业正逐步向智慧化、信息化转型。这一转型过程中,水利信息化系统需要处理来自不同来源、不同格式、不同结构的海量数据。这些数据往往存储在多种异构数据库中,如oracle、mysql、sql server、king base、达梦等,每种数据库都有其独特的数据存储和访问机制。因此,如何有效地采集这些异构数据库中的数据变更内容,成为水利信息化系统建设中的一个重要问题。目前的痛点主要体现在以下方面:

2、1.数据格式与结构的差异:异构数据库之间的数据格式、表结构、字段类型等存在显著差异,这导致数据在采集过程中需要进行复杂的转换和映射,增加了数据采集的复杂性和难度。

3、2.技术体系不兼容:不同的数据库系统往往采用不同的技术体系,如存储过程、触发器、日志机制等,这些技术体系在数据采集时可能无法直接兼容,需要开发专门的适配器或中间件进行桥接。

4、3.实时性与准确性问题:水利信息化系统对数据的实时性和准确性要求较高,但现有的数据采集方案往往难以同时满足这两个要求。例如,基于日志的数据采集方案虽然实时性较好,但可能因日志丢失或损坏而导致数据准确性下降;而基于定期轮询的数据采集方案虽然准确性较高,但实时性较差。

5、4.扩展性与灵活性不足:随着水利信息化系统的不断发展和新老水库项目的接入,新的数据源和数据类型不断涌现。现有的数据采集方案往往难以快速适应这些变化,需要进行大量的定制开发工作,导致系统扩展性和灵活性不足。

6、5.海量数据存储问题:水利相关数据量十分巨大,传统的存储系统难以满足日益增长的容量需求,并且存在单节点性能的问题难以支撑高并发、高吞吐量的数据访问需求。大规模数据存储带来的不仅是技术挑战,还有高昂的硬件购置、运维及能耗成本。


技术实现思路

1、为了解决上述问题,本专利技术提供一种适配多种异构数据库的数据变更内容采集方法,能够进行数据的无缝采集和传输,同时保证了变更采集的实时性、可靠性、幂等性,而且节省数据存储的运维成本。

2、为了实现上述目的,本专利技术采用的技术方案为:

3、一种适配多种异构数据库的数据变更内容采集方法,包括下述步骤:

4、s1.在变更监听平台配置业务服务的监听信息,对所述业务服务注入组件,以向所述监听平台请求拉取所述监听信息的配置,且对异步采集任务进行初始化;

5、s2.所述组件通过jar包文件的插件,且根据所述监听信息的配置对数据库进行数据采集,以监听数据库变更,且所述数据库的日志数据存在变更时,所述插件对变更的日志数据进行解析后通过消息中间件rabbit mq上报所述日志数据;

6、s3.所述变更监听平台通过拉模式进行消息的消费,以在对应的elasticsearch及对应的hadoop hdfs索引中进行写入变更数据,以将变更数据进行存储,且所述变更监听平台在消费成功后返回成功的ack;

7、s4.定时启动冷热转换监听任务,通过访问记录数据库获取数据访问的记录,且根据数据的访问活跃度进行数据冷热转换,以将高活跃的热数据写入至elasticsearch。

8、进一步地,步骤s1中,所述监听信息包括服务名、数据库、数据表、表字段、加密字段和加密方法、上报策略、重试策略;在步骤s2中,所述数据库的数据采集内容包括采集目标表、采集字段、字段加密策略。

9、进一步地,在步骤s2中,所述插件对变更的日志数据进行解析,且根据所述监听信息的配置获取对应的监控变更字段后,按照加密策略对对应的字段进行加密,以生成列和值的key/value列表;

10、所述插件将key/value列表序列化为json字符串后,通过消息中间件rabbit mq投入至上报队列中。

11、进一步地,所述组件根据所述上报策略进行所述日志数据的上报,且所述组件根据重试策略进行触发器捕获及定时轮询,以将上报失败数据重新上报。

12、进一步地,在步骤s3中,所述变更监听平台通过消息中间件rabbit mq拉取所述日志数据后,将数据投入异步线程中,所述异步线程根据变更对应的配置信息,在对应的elasticsearch及hadoop hdfs的索引中进行写入;

13、当写入成功则返回消费成功的ack;当写入失败则本地重试写入设定次数,且每次的重试设置有间隔时间,在每次本地重试失败后尝试进行回滚,本地重试写入次数达到设定次数后返回消费失败的ack,所述消息再次进行投递。

14、进一步地,在步骤s4中,数据冷热转换包括下述步骤:

15、s4.1用户的数据访问发送至记录单表数据,且所述记录单表数据将数据的访问记录写入至访问记录数据库;

16、s4.2通过lru算法及lfu算法筛选获得热数据及冷数据;

17、s4.3将elasticsearch中冷数据及非最近预设时间内写入的数据移除;

18、s4.4将elasticsearch中不存在的热数据写入至elasticsearch中。

19、进一步地,在步骤s4.2中,通过lru算法筛选出所述访问记录中最近预设时间内最新访问的n条数据,以获得最近最常访问数据项;通过lfu算法筛选出所述最近最常访问数据项中最近预设时间内访问频率最高的m条数据,以获得热数据;在所述记录数据库中通过所述热数据筛选获得冷数据。

20、本专利技术的有益效果是:

21、1.本专利技术的插件实现了针对多源异构数据库日志监听解析,并提供了统一的标准的数据格式,并通过jar包引用的方式实现热拔插,减少了数据库变更采集对业务代码的入侵。并且通过消息中间件的接入和变更触达加轮询的方式扫描,保证了变更采集的实时性、可靠性和幂等性,为未来更多系统和更多类型数据库的接入提供了解决方案。而且监听解析插件通过jar包形式进行下发,可以做到新增数据库类型时快速开发和应用;同时,基于消息中间件接收业务侧监听解析插件上报的内容进行数据存储,减少数据采集对业务侧代码的入侵,实现业务和采集代码的解耦。

22、2.采用冷热分离的存储方式,对于近期收录的热数据采用elasticsearch来进行存储,提高数据查询效率。对非近期收录的冷数据采用分布式存储系统如hadoop hdfs实现数据的分布式存储和并行处理。冷热数据分离方案有效提升了存储容量和访问速度,并且节省了数据存储的运维成本。而且通过将数据分为热数据和冷数据,并分别存储在具有不同性能和成本的存储介质上,可以避免将所有数据都存储在高性能、高成本的存储设备上,冷数据可以存储在成本较低的存储介质上,如云存储或低速硬盘,从而显著降低存储成本。同时,热数据存储在高性能的存储设备上,可以提供更快的读写速度加快数据处理的速度和响应时间。并且,可以避免热数据的读写冲突,提高存储系统的整体性能。冷数据由于访问频率较低本文档来自技高网...

【技术保护点】

1.一种适配多种异构数据库的数据变更内容采集方法,其特征在于,包括下述步骤:

2.根据权利要求1所述的一种适配多种异构数据库的数据变更内容采集方法,其特征在于:步骤S1中,所述监听信息包括服务名、数据库、数据表、表字段、加密字段和加密方法、上报策略、重试策略;在步骤S2中,所述数据库的数据采集内容包括采集目标表、采集字段、字段加密策略。

3. 根据权利要求2所述的一种适配多种异构数据库的数据变更内容采集方法,其特征在于:在步骤S2中,所述插件对变更的日志数据进行解析,且根据所述监听信息的配置获取对应的监控变更字段后,按照加密策略对对应的字段进行加密,以生成列和值的key/value列表;

4.根据权利要求2所述的一种适配多种异构数据库的数据变更内容采集方法,其特征在于:所述组件根据所述上报策略进行所述日志数据的上报,且所述组件根据重试策略进行触发器捕获及定时轮询,以将上报失败数据重新上报。

5. 根据权利要求1所述的一种适配多种异构数据库的数据变更内容采集方法,其特征在于:在步骤S3中,所述变更监听平台通过消息中间件Rabbit MQ拉取所述日志数据后,将数据投入异步线程中,所述异步线程根据变更对应的配置信息,在对应的ElasticSearch及Hadoop HDFS的索引中进行写入;

6.根据权利要求1所述的一种适配多种异构数据库的数据变更内容采集方法,其特征在于:在步骤S4中,数据冷热转换包括下述步骤:

7. 根据权利要求6所述的一种适配多种异构数据库的数据变更内容采集方法,其特征在于: 在步骤S4.2中,通过LRU算法筛选出所述访问记录中最近预设时间内最新访问的N条数据,以获得最近最常访问数据项;通过LFU算法筛选出所述最近最常访问数据项中最近预设时间内访问频率最高的M条数据,以获得热数据;在所述记录数据库中通过所述热数据筛选获得冷数据。

...

【技术特征摘要】

1.一种适配多种异构数据库的数据变更内容采集方法,其特征在于,包括下述步骤:

2.根据权利要求1所述的一种适配多种异构数据库的数据变更内容采集方法,其特征在于:步骤s1中,所述监听信息包括服务名、数据库、数据表、表字段、加密字段和加密方法、上报策略、重试策略;在步骤s2中,所述数据库的数据采集内容包括采集目标表、采集字段、字段加密策略。

3. 根据权利要求2所述的一种适配多种异构数据库的数据变更内容采集方法,其特征在于:在步骤s2中,所述插件对变更的日志数据进行解析,且根据所述监听信息的配置获取对应的监控变更字段后,按照加密策略对对应的字段进行加密,以生成列和值的key/value列表;

4.根据权利要求2所述的一种适配多种异构数据库的数据变更内容采集方法,其特征在于:所述组件根据所述上报策略进行所述日志数据的上报,且所述组件根据重试策略进行触发器捕获及定时轮询,以将上报失败...

【专利技术属性】
技术研发人员:林小淞欧辉明龙荣平舒蜜陆彬黄倩颖黄俊中
申请(专利权)人:广西壮族自治区水利电力勘测设计研究院有限责任公司
类型:发明
国别省市:

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

1