[发明专利]一种跨机房的数据同步方法及系统有效
申请号: | 201910628529.0 | 申请日: | 2019-07-12 |
公开(公告)号: | CN110309231B | 公开(公告)日: | 2022-07-29 |
发明(设计)人: | 王亚军 | 申请(专利权)人: | 焦点科技股份有限公司 |
主分类号: | G06F16/27 | 分类号: | G06F16/27 |
代理公司: | 南京瑞弘专利商标事务所(普通合伙) 32249 | 代理人: | 陈建和 |
地址: | 210032 江苏省南京*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 机房 数据 同步 方法 系统 | ||
本发明公开了一种跨机房的数据同步方法及系统,其特征在于,通过生成代理对象拦截数据变更动作,以捕获生产者的数据变更动作,并封装为同步消息,由消息中间件传送至订阅数据变更动作的消费者,经消息拆包能触发消费者发生与生产者相同的数据变更动作,完成跨机房数据同步;并在同步执行过程中,以同步监控表实时记录每个机房的数据同步完成情况。达到有效地减少数据同步过程中代码重复编制次数,扩展性极强的技术效果;在同步执行过程中,以持久化的同步监控表实时记录每个机房的数据同步完成情况,同时也有助于动态实时地监控数据同步过程,在同步出现问题时及时干预。
技术领域
本发明涉及分布式系统领域,特别是涉及一种跨机房的数据同步方法及系统。
背景技术
随着微服务架构的成熟与流行,配置中心是支撑该架构的核心中间件之一,配置中心一般为CS架构,C是客户端,以组件的形式接入应用,S为服务端,由配置应用及管理应用组成,两者均为独立部署应用,其中配置应用负责处理来自客户端和管理应用的配置读写请求;管理应用提供web操作页面并在后台发送请求给配置应用,完成配置管理。大型网站为保证可用性会采用异地多活的部署架构,因此配置应用也需要在每个机房部署,配置数据通常是存储在数据库中,并基于数据库自带的日志重演机制,将数据同步到所有机房,但由于这种数据同步模式采用单通道,即不同机房数据库采用直连模式,受限于网络通道的流量及传输速度,大数据量的传输无疑会导致阻塞情况的发生,同步性能会急剧下降,数据同步效率低下。
其次,消息中间件技术解决了分布式环境中数据同步依赖单通道的困境,实现能并发处理不同消息传递的目的,然而它却带了新的问题,即需要为不同的业务操作编制不同调用消息中间价接口的调用代码,随着业务量增多,编制的调用代码量也越来越多,代码的冗余既不利于后期的维护,也不利于遇到问题时的快速处理;进一步地,由于不同消息中间件的接口标准不一样,如果中途更换消息中间件,无疑将带来巨大的修改工作量。
现有的数据同步技术要不是基于数据库增量日志解析,实时将数据同步到本机房或跨机房的mysql/oracle数据库,要不是采用发布订阅模式实现不同类型数据同步,以有效利用网络资源、存储资源和计算资源,如发明专利“面向消息中间件的跨域数据同步方法与系统”(申请号:201811043048.5),但不管是哪一种方法,都脱离不了对通道流量、消息中间件的依赖,因此如何既保证消息的并行传递,又不至于编制冗余的接口调用代码,是当前应解决的技术问题。
发明内容
本发明所要解决的技术问题是克服现有技术的不足,提供一种跨机房的数据同步方法及系统。
为解决上述技术问题,本发明提供一种跨机房的数据同步方法,其特征在于,通过生成代理对象拦截数据变更动作,以捕获生产者的数据变更动作,并封装为同步消息,由消息中间件传送至订阅数据变更的消费者,经消息拆包能触发消费者发生与生产者相同的数据变更动作,完成跨机房数据同步;并在同步执行过程中,以同步监控表实时记录每个机房的数据同步完成情况,具体步骤包括:
步骤1,基于动态代理技术,为数据变更动作生成代理对象:在跨机房环境中,设置发生数据变更动作的机房为生产机房,其他机房则为消费机房;待外部操作触发生产机房内部数据发生变更动作时,捕获触发操作并利用动态代理技术为数据变更动作生成代理对象,将其作为数据变更动作的代理执行者;
所述数据变更动作,特指数据增加、数据删除和数据修改的动作;所述外部操作是指能刺激数据变更动作并引发数据库发生变化的操作,包括页面点击和文本输入;
步骤2,代理对象将拦截的数据变更动作封装为同步消息后,生产机房执行数据变更动作成功后,发送同步消息,在同步监控表中新增同步记录;所述同步监控表用于监测并判定数据同步的完成与否,所述同步监控表中的字段内容包括同步消息ID、数据变更动作方法名及方法执行参数、所有机房名和同步完成机房名;
步骤3,消息中间件接收生产机房发送的同步消息,并将同步消息转发至各消费者机房完成数据同步,生成监控消息反馈至生产机房;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于焦点科技股份有限公司,未经焦点科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910628529.0/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置