本发明涉及数据同步处理,尤其涉及一种经销商多租户分库分表场景数据实时同步系统。
背景技术:
1、随着单库中的数据量越来越大,相应的,查询所需要的时间也越来越多,这个时候,相当于数据的处理遇到了瓶颈、单库发生意外的时候,需要修复的是所有的数据,而多库中的一个库发生意外的时候,只需要修复一个库。
2、在多租户分库分表场景下,经销商需要实时同步数据,以便在不同的租户、数据库和表之间共享和更新数据。当前在高并发场景下,多租户数据同步缺少稳定可靠的数据链路。数据资源消耗高,数据同步稳定差,兼容性差。导致在构建多种异常情况下同步采集过程中的稳定性和正确性差。
技术实现思路
1、本发明提供了一种经销商多租户分库分表场景数据实时同步系统,提高同步采集过程中的稳定性和正确性。
2、为了实现本发明的目的,所采用的技术方案是:经销商多租户分库分表场景数据实时同步系统,系统包括源数据库监听捕捉装置、数据事件处理装置、数据事件分发装置和目标数据库同步执行装置,
3、源数据库监听捕捉装置用于对源数据库进行监听,获取数据事件记录队列;
4、数据事件处理装置将数据事件记录队列分为一个或多个主键数据事件记录队列,每个主键数据事件记录队列中数据事件的数据事件主键信息相同,将每个主键数据事件记录队列中的数据事件进行合并,获得相应的主键数据事件更新记录,将所有主键数据事件更新记录进行合并,获得数据事件更新记录,对所述数据事件更新记录进行压缩,生成数据事件更新记录包;
5、数据事件分发装置用于将数据事件更新记录包分发给目标数据库;
6、目标数据库同步执行装置对数据事件更新记录包进行解压缩,获取所述数据事件更新记录,根据所述数据事件更新记录,完成目标数据库的同步操作。
7、作为本发明的优化方案,数据事件记录队列包括多个按时间顺序排列的数据事件,每个数据事件至少包括数据事件类型、数据事件主键信息及数据事件变更信息。
8、作为本发明的优化方案,源数据库监听捕捉装置部署在目标服务器上,目标服务器上设置有基于binlog的同步工具,基于binlog的同步工具监听源服务器的binlog文件。
9、作为本发明的优化方案,基于binlog的同步工具将解析得到的幂等消息发送到消息中间件进行缓冲存储,消息中间件将作为数据链路。
10、作为本发明的优化方案,源数据库监听捕捉装置采用socket服务对源数据库进行监听,获取涉及到数据变化的数据事件记录队列。
11、作为本发明的优化方案,按照时间顺序,采用数据操作语言dml对数据事件进行合并,对数据事件进行合并时,将数据事件类型相同的数据事件进行合并。
12、作为本发明的优化方案,数据事件分发装置遇到网络阻塞时,执行重新分发操作。
13、本发明具有积极的效果:本发明基于数据库动作事件触发,将数据库二进制日志进行幂等消息投递。采用消息中间件做为数据缓冲存储,对高并发场景下多租户数据同步提供稳定可靠的数据链路。提供简单可配置的操作界面完成系统之间的数据采集工作。保证数据完整性,资源消耗小,数据同步稳定性高,兼容性好。构建多种异常情况下,提高同步采集过程中的稳定性和正确性。
1.经销商多租户分库分表场景数据实时同步系统,其特征在于:所述的系统包括源数据库监听捕捉装置、数据事件处理装置、数据事件分发装置和目标数据库同步执行装置,
2.根据权利要求1所述的经销商多租户分库分表场景数据实时同步系统,其特征在于:数据事件记录队列包括多个按时间顺序排列的数据事件,每个数据事件至少包括数据事件类型、数据事件主键信息及数据事件变更信息。
3.根据权利要求2所述的经销商多租户分库分表场景数据实时同步系统,其特征在于:所述的源数据库监听捕捉装置部署在目标服务器上,目标服务器上设置有基于binlog的同步工具,基于binlog的同步工具监听源服务器的binlog文件。
4.根据权利要求3所述的经销商多租户分库分表场景数据实时同步系统,其特征在于:基于binlog的同步工具将解析得到的幂等消息发送到消息中间件进行缓冲存储,消息中间件将作为数据链路。
5.根据权利要求3所述的经销商多租户分库分表场景数据实时同步系统,其特征在于:源数据库监听捕捉装置采用socket服务对源数据库进行监听,获取涉及到数据变化的数据事件记录队列。
6.根据权利要求3所述的经销商多租户分库分表场景数据实时同步系统,其特征在于:按照时间顺序,采用数据操作语言dml对数据事件进行合并,对数据事件进行合并时,将数据事件类型相同的数据事件进行合并。
7.根据权利要求3所述的经销商多租户分库分表场景数据实时同步系统,其特征在于:数据事件分发装置遇到网络阻塞时,执行重新分发操作。