[发明专利]基于Redis的数据库数据聚合同步的方法有效
申请号: | 201710145129.5 | 申请日: | 2017-03-13 |
公开(公告)号: | CN106997378B | 公开(公告)日: | 2020-05-15 |
发明(设计)人: | 徐长根 | 申请(专利权)人: | 上海摩库数据技术有限公司 |
主分类号: | G06F16/25 | 分类号: | G06F16/25;G06F16/27 |
代理公司: | 上海翰信知识产权代理事务所(普通合伙) 31270 | 代理人: | 张维东 |
地址: | 200233 上海市徐汇*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 redis 数据库 数据 聚合 同步 方法 | ||
本发明提供了基于Redis的数据库数据聚合同步的方法,由于同步程序扫描目标数据库表的数据,计算每行数据的Key和Value,将其存储到Redis中,同时将该行数据写入聚合数据库,在目标数据库标数据发生变化时,同步程序重新计算目标数据库中每行数据的新Key和新Value,并查询Redis中是否存在与新Key相同的Key,从而对聚合数据库中数据进行更新,然后,对目标数据库数据同步完成的表主键集合与聚合数据库相应的表主键集合进行差集计算,通过判断差集中是否有元素来对聚合数据库中数据进行删除,本发明通过Redis来实现聚合同步过程中的增、改、删,从而将多个目标数据库数据聚合同步到一个聚合数据库中。
技术领域
本发明属于互联网技术领域,具体涉及一种基于Redis的数据库数据聚合同步的方法。
背景技术
当今数据库软件技术中关系型数据库发展的已经很成熟,产品类型也相当的多,主流常见的关系型数据库有Oracle,MySQL,PostgreSQL等,针对这些数据库都有各自的数据主从同步方式,比如MySQL的主从数据库之间同步有自带的binlog主从同步数据的方式,Otter中间件同步等方式。但存在不足的地方是不能进行多个数据库同步到一个数据库的聚合同步。
然而,目前大部分互联网公司内部的业务支持系统会根据业务拆分到不同的系统中,但是,当建立DW数据仓库平台或者BI平台时需要聚合各个业务系统的数据到同一个数据库中做后续的统计汇总分析,而目前尚不能进行多个数据到一个数据库的聚合同步,因此对公司内部业务执行会造成不便。
发明内容
本发明是为了解决上述问题而进行的,目的在于提供一种能够将至少一个目标数据库数据聚合同步到一个聚合数据库中的基于Redis的数据库数据聚合同步的方法。
本发明提供了一种基于Redis的数据库数据聚合同步的方法,用于将至少一个目标数据库数据聚合同步到一个聚合数据库中,其特征在于,包括以下步骤:
步骤1,使用同步程序从配置文件中加载各所述目标数据库的远程连接信息,读取所述目标数据库中的表结构,然后提取每个表的字段和主键信息,并在所述聚合数据库中创建相对应的表结构;
步骤2,所述同步程序扫描所有所述目标数据库表的数据,然后逐行计算得到每行数据的Key和Value;
步骤3,将步骤2中得到的Key和Value作为Redis的k-v缓存写入Redis中,将所有所述目标数据库表的每行数据拼装出标准的“INSERT”SQL语句执行写入到所述聚合数据库中对应的表中;
步骤4,当所述目标数据库中表的数据发生变化时,执行步骤2,重新得到新Value和新Key,对于每行数据,判断Redis中是否存在与该行数据的新Key相同的Key,如果不存在,则该行数据执行步骤3,如果存在,则判断该行数据的新Value与Redis中存储的相对应的Value是否相同,如果不同,则将该行数据的新Value覆盖掉Redis中相对应的Value,同时将该行数据拼装出标准的“UPDATE”SQL语句对所述聚合数据库中对应表中的行数据进行更新;
步骤5,将发生变化后的所有的目标数据库数据的表主键集合与步骤4得到的聚合数据库相应的表主键集合进行差集计算得到差集,如果所述差集中存在元素,则在所述聚合数据库中对应的表生成标准的“DELETE”SQL语句删除所述聚合数据库中与所述目标数据库中已删除数据相应的数据。。
进一步,在本发明提供的基于Redis的数据库数据聚合同步的方法中,还可以具有这样的特征:其中,同步程序根据数据库表的主键字段进行扫描。
进一步,在本发明提供的基于Redis的数据库数据聚合同步的方法中,还可以具有这样的特征:其中,步骤2中,每行数据的Key和Value计算方法:首先每行数据采用MD5算法得到一个唯一标识的字符串Value,然后利用表名拼接该行数据的主键字段值得到一个唯一的字符串Key。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海摩库数据技术有限公司,未经上海摩库数据技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710145129.5/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置